@agentica/core 0.7.0-dev.20250224
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +464 -0
- package/lib/Agentica.d.ts +124 -0
- package/lib/Agentica.js +271 -0
- package/lib/Agentica.js.map +1 -0
- package/lib/chatgpt/ChatGptAgent.d.ts +6 -0
- package/lib/chatgpt/ChatGptAgent.js +59 -0
- package/lib/chatgpt/ChatGptAgent.js.map +1 -0
- package/lib/chatgpt/ChatGptCallFunctionAgent.d.ts +5 -0
- package/lib/chatgpt/ChatGptCallFunctionAgent.js +362 -0
- package/lib/chatgpt/ChatGptCallFunctionAgent.js.map +1 -0
- package/lib/chatgpt/ChatGptCancelFunctionAgent.d.ts +8 -0
- package/lib/chatgpt/ChatGptCancelFunctionAgent.js +359 -0
- package/lib/chatgpt/ChatGptCancelFunctionAgent.js.map +1 -0
- package/lib/chatgpt/ChatGptDescribeFunctionAgent.d.ts +5 -0
- package/lib/chatgpt/ChatGptDescribeFunctionAgent.js +56 -0
- package/lib/chatgpt/ChatGptDescribeFunctionAgent.js.map +1 -0
- package/lib/chatgpt/ChatGptHistoryDecoder.d.ts +5 -0
- package/lib/chatgpt/ChatGptHistoryDecoder.js +77 -0
- package/lib/chatgpt/ChatGptHistoryDecoder.js.map +1 -0
- package/lib/chatgpt/ChatGptInitializeFunctionAgent.d.ts +5 -0
- package/lib/chatgpt/ChatGptInitializeFunctionAgent.js +1883 -0
- package/lib/chatgpt/ChatGptInitializeFunctionAgent.js.map +1 -0
- package/lib/chatgpt/ChatGptSelectFunctionAgent.d.ts +5 -0
- package/lib/chatgpt/ChatGptSelectFunctionAgent.js +381 -0
- package/lib/chatgpt/ChatGptSelectFunctionAgent.js.map +1 -0
- package/lib/functional/createHttpLlmApplication.d.ts +33 -0
- package/lib/functional/createHttpLlmApplication.js +7766 -0
- package/lib/functional/createHttpLlmApplication.js.map +1 -0
- package/lib/index.d.ts +16 -0
- package/lib/index.js +35 -0
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +10366 -0
- package/lib/index.mjs.map +1 -0
- package/lib/internal/AgenticaConstant.d.ts +4 -0
- package/lib/internal/AgenticaConstant.js +9 -0
- package/lib/internal/AgenticaConstant.js.map +1 -0
- package/lib/internal/AgenticaCostAggregator.d.ts +5 -0
- package/lib/internal/AgenticaCostAggregator.js +30 -0
- package/lib/internal/AgenticaCostAggregator.js.map +1 -0
- package/lib/internal/AgenticaDefaultPrompt.d.ts +4 -0
- package/lib/internal/AgenticaDefaultPrompt.js +32 -0
- package/lib/internal/AgenticaDefaultPrompt.js.map +1 -0
- package/lib/internal/AgenticaOperationComposer.d.ts +9 -0
- package/lib/internal/AgenticaOperationComposer.js +58 -0
- package/lib/internal/AgenticaOperationComposer.js.map +1 -0
- package/lib/internal/AgenticaPromptFactory.d.ts +6 -0
- package/lib/internal/AgenticaPromptFactory.js +9 -0
- package/lib/internal/AgenticaPromptFactory.js.map +1 -0
- package/lib/internal/AgenticaPromptTransformer.d.ts +9 -0
- package/lib/internal/AgenticaPromptTransformer.js +58 -0
- package/lib/internal/AgenticaPromptTransformer.js.map +1 -0
- package/lib/internal/AgenticaSystemPrompt.d.ts +8 -0
- package/lib/internal/AgenticaSystemPrompt.js +13 -0
- package/lib/internal/AgenticaSystemPrompt.js.map +1 -0
- package/lib/internal/MathUtil.d.ts +3 -0
- package/lib/internal/MathUtil.js +8 -0
- package/lib/internal/MathUtil.js.map +1 -0
- package/lib/internal/Singleton.d.ts +1 -0
- package/lib/internal/Singleton.js +23 -0
- package/lib/internal/Singleton.js.map +1 -0
- package/lib/internal/__map_take.d.ts +1 -0
- package/lib/internal/__map_take.js +16 -0
- package/lib/internal/__map_take.js.map +1 -0
- package/lib/structures/IAgenticaConfig.d.ts +112 -0
- package/lib/structures/IAgenticaConfig.js +3 -0
- package/lib/structures/IAgenticaConfig.js.map +1 -0
- package/lib/structures/IAgenticaContext.d.ts +106 -0
- package/lib/structures/IAgenticaContext.js +3 -0
- package/lib/structures/IAgenticaContext.js.map +1 -0
- package/lib/structures/IAgenticaController.d.ts +110 -0
- package/lib/structures/IAgenticaController.js +3 -0
- package/lib/structures/IAgenticaController.js.map +1 -0
- package/lib/structures/IAgenticaEvent.d.ts +191 -0
- package/lib/structures/IAgenticaEvent.js +3 -0
- package/lib/structures/IAgenticaEvent.js.map +1 -0
- package/lib/structures/IAgenticaExecutor.d.ts +144 -0
- package/lib/structures/IAgenticaExecutor.js +3 -0
- package/lib/structures/IAgenticaExecutor.js.map +1 -0
- package/lib/structures/IAgenticaOperation.d.ts +48 -0
- package/lib/structures/IAgenticaOperation.js +3 -0
- package/lib/structures/IAgenticaOperation.js.map +1 -0
- package/lib/structures/IAgenticaOperationCollection.d.ts +46 -0
- package/lib/structures/IAgenticaOperationCollection.js +3 -0
- package/lib/structures/IAgenticaOperationCollection.js.map +1 -0
- package/lib/structures/IAgenticaOperationSelection.d.ts +51 -0
- package/lib/structures/IAgenticaOperationSelection.js +3 -0
- package/lib/structures/IAgenticaOperationSelection.js.map +1 -0
- package/lib/structures/IAgenticaPrompt.d.ts +139 -0
- package/lib/structures/IAgenticaPrompt.js +3 -0
- package/lib/structures/IAgenticaPrompt.js.map +1 -0
- package/lib/structures/IAgenticaProps.d.ts +59 -0
- package/lib/structures/IAgenticaProps.js +3 -0
- package/lib/structures/IAgenticaProps.js.map +1 -0
- package/lib/structures/IAgenticaProvider.d.ts +41 -0
- package/lib/structures/IAgenticaProvider.js +3 -0
- package/lib/structures/IAgenticaProvider.js.map +1 -0
- package/lib/structures/IAgenticaSystemPrompt.d.ts +116 -0
- package/lib/structures/IAgenticaSystemPrompt.js +3 -0
- package/lib/structures/IAgenticaSystemPrompt.js.map +1 -0
- package/lib/structures/IAgenticaTokenUsage.d.ts +50 -0
- package/lib/structures/IAgenticaTokenUsage.js +3 -0
- package/lib/structures/IAgenticaTokenUsage.js.map +1 -0
- package/lib/structures/internal/__IChatCancelFunctionsApplication.d.ts +22 -0
- package/lib/structures/internal/__IChatCancelFunctionsApplication.js +3 -0
- package/lib/structures/internal/__IChatCancelFunctionsApplication.js.map +1 -0
- package/lib/structures/internal/__IChatFunctionReference.d.ts +20 -0
- package/lib/structures/internal/__IChatFunctionReference.js +3 -0
- package/lib/structures/internal/__IChatFunctionReference.js.map +1 -0
- package/lib/structures/internal/__IChatInitialApplication.d.ts +14 -0
- package/lib/structures/internal/__IChatInitialApplication.js +3 -0
- package/lib/structures/internal/__IChatInitialApplication.js.map +1 -0
- package/lib/structures/internal/__IChatSelectFunctionsApplication.d.ts +23 -0
- package/lib/structures/internal/__IChatSelectFunctionsApplication.js +3 -0
- package/lib/structures/internal/__IChatSelectFunctionsApplication.js.map +1 -0
- package/lib/typings/AgenticaSource.d.ts +1 -0
- package/lib/typings/AgenticaSource.js +3 -0
- package/lib/typings/AgenticaSource.js.map +1 -0
- package/package.json +74 -0
- package/prompts/cancel.md +5 -0
- package/prompts/common.md +3 -0
- package/prompts/describe.md +7 -0
- package/prompts/execute.md +7 -0
- package/prompts/initialize.md +3 -0
- package/prompts/select.md +7 -0
- package/src/Agentica.ts +322 -0
- package/src/chatgpt/ChatGptAgent.ts +71 -0
- package/src/chatgpt/ChatGptCallFunctionAgent.ts +445 -0
- package/src/chatgpt/ChatGptCancelFunctionAgent.ts +283 -0
- package/src/chatgpt/ChatGptDescribeFunctionAgent.ts +51 -0
- package/src/chatgpt/ChatGptHistoryDecoder.ts +86 -0
- package/src/chatgpt/ChatGptInitializeFunctionAgent.ts +88 -0
- package/src/chatgpt/ChatGptSelectFunctionAgent.ts +316 -0
- package/src/functional/createHttpLlmApplication.ts +63 -0
- package/src/index.ts +19 -0
- package/src/internal/AgenticaConstant.ts +4 -0
- package/src/internal/AgenticaCostAggregator.ts +35 -0
- package/src/internal/AgenticaDefaultPrompt.ts +39 -0
- package/src/internal/AgenticaOperationComposer.ts +82 -0
- package/src/internal/AgenticaPromptFactory.ts +30 -0
- package/src/internal/AgenticaPromptTransformer.ts +83 -0
- package/src/internal/AgenticaSystemPrompt.ts +14 -0
- package/src/internal/MathUtil.ts +3 -0
- package/src/internal/Singleton.ts +22 -0
- package/src/internal/__map_take.ts +15 -0
- package/src/structures/IAgenticaConfig.ts +121 -0
- package/src/structures/IAgenticaContext.ts +128 -0
- package/src/structures/IAgenticaController.ts +130 -0
- package/src/structures/IAgenticaEvent.ts +224 -0
- package/src/structures/IAgenticaExecutor.ts +152 -0
- package/src/structures/IAgenticaOperation.ts +64 -0
- package/src/structures/IAgenticaOperationCollection.ts +50 -0
- package/src/structures/IAgenticaOperationSelection.ts +69 -0
- package/src/structures/IAgenticaPrompt.ts +173 -0
- package/src/structures/IAgenticaProps.ts +64 -0
- package/src/structures/IAgenticaProvider.ts +45 -0
- package/src/structures/IAgenticaSystemPrompt.ts +122 -0
- package/src/structures/IAgenticaTokenUsage.ts +52 -0
- package/src/structures/internal/__IChatCancelFunctionsApplication.ts +23 -0
- package/src/structures/internal/__IChatFunctionReference.ts +21 -0
- package/src/structures/internal/__IChatInitialApplication.ts +15 -0
- package/src/structures/internal/__IChatSelectFunctionsApplication.ts +24 -0
- package/src/typings/AgenticaSource.ts +6 -0
|
@@ -0,0 +1,1883 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ChatGptInitializeFunctionAgent = void 0;
|
|
16
|
+
const typia_1 = __importDefault(require("typia"));
|
|
17
|
+
const AgenticaDefaultPrompt_1 = require("../internal/AgenticaDefaultPrompt");
|
|
18
|
+
const AgenticaSystemPrompt_1 = require("../internal/AgenticaSystemPrompt");
|
|
19
|
+
const ChatGptHistoryDecoder_1 = require("./ChatGptHistoryDecoder");
|
|
20
|
+
var ChatGptInitializeFunctionAgent;
|
|
21
|
+
(function (ChatGptInitializeFunctionAgent) {
|
|
22
|
+
ChatGptInitializeFunctionAgent.execute = (ctx) => __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
var _a, _b, _c, _d, _e;
|
|
24
|
+
//----
|
|
25
|
+
// EXECUTE CHATGPT API
|
|
26
|
+
//----
|
|
27
|
+
const completion = yield ctx.request("initialize", {
|
|
28
|
+
messages: [
|
|
29
|
+
// COMMON SYSTEM PROMPT
|
|
30
|
+
{
|
|
31
|
+
role: "system",
|
|
32
|
+
content: AgenticaDefaultPrompt_1.AgenticaDefaultPrompt.write(ctx.config),
|
|
33
|
+
},
|
|
34
|
+
// PREVIOUS HISTORIES
|
|
35
|
+
...ctx.histories.map(ChatGptHistoryDecoder_1.ChatGptHistoryDecoder.decode).flat(),
|
|
36
|
+
// USER INPUT
|
|
37
|
+
{
|
|
38
|
+
role: "user",
|
|
39
|
+
content: ctx.prompt.text,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
// SYSTEM PROMPT
|
|
43
|
+
role: "system",
|
|
44
|
+
content: (_d = (_c = (_b = (_a = ctx.config) === null || _a === void 0 ? void 0 : _a.systemPrompt) === null || _b === void 0 ? void 0 : _b.initialize) === null || _c === void 0 ? void 0 : _c.call(_b, ctx.histories)) !== null && _d !== void 0 ? _d : AgenticaSystemPrompt_1.AgenticaSystemPrompt.INITIALIZE,
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
// GETTER FUNCTION
|
|
48
|
+
tools: [
|
|
49
|
+
{
|
|
50
|
+
type: "function",
|
|
51
|
+
function: {
|
|
52
|
+
name: FUNCTION.name,
|
|
53
|
+
description: FUNCTION.description,
|
|
54
|
+
parameters: FUNCTION.parameters,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
tool_choice: "auto",
|
|
59
|
+
parallel_tool_calls: false,
|
|
60
|
+
});
|
|
61
|
+
//----
|
|
62
|
+
// PROCESS COMPLETION
|
|
63
|
+
//----
|
|
64
|
+
const prompts = [];
|
|
65
|
+
for (const choice of completion.choices) {
|
|
66
|
+
if (choice.message.role === "assistant" &&
|
|
67
|
+
!!((_e = choice.message.content) === null || _e === void 0 ? void 0 : _e.length))
|
|
68
|
+
prompts.push({
|
|
69
|
+
type: "text",
|
|
70
|
+
role: "assistant",
|
|
71
|
+
text: choice.message.content,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (completion.choices.some((c) => {
|
|
75
|
+
var _a;
|
|
76
|
+
return !!((_a = c.message.tool_calls) === null || _a === void 0 ? void 0 : _a.some((tc) => tc.type === "function" && tc.function.name === FUNCTION.name));
|
|
77
|
+
}))
|
|
78
|
+
yield ctx.initialize();
|
|
79
|
+
return prompts;
|
|
80
|
+
});
|
|
81
|
+
})(ChatGptInitializeFunctionAgent || (exports.ChatGptInitializeFunctionAgent = ChatGptInitializeFunctionAgent = {}));
|
|
82
|
+
const FUNCTION = {
|
|
83
|
+
model: "chatgpt",
|
|
84
|
+
options: {
|
|
85
|
+
reference: false,
|
|
86
|
+
strict: false,
|
|
87
|
+
separate: null
|
|
88
|
+
},
|
|
89
|
+
functions: [
|
|
90
|
+
{
|
|
91
|
+
name: "getApiFunctions",
|
|
92
|
+
parameters: {
|
|
93
|
+
type: "object",
|
|
94
|
+
properties: {},
|
|
95
|
+
required: [],
|
|
96
|
+
additionalProperties: false,
|
|
97
|
+
$defs: {
|
|
98
|
+
RecordstringIChatGptSchema: {
|
|
99
|
+
description: "Construct a type with a set of properties K of type T",
|
|
100
|
+
type: "object",
|
|
101
|
+
properties: {},
|
|
102
|
+
required: [],
|
|
103
|
+
additionalProperties: {
|
|
104
|
+
$ref: "#/$defs/IChatGptSchema"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
IChatGptSchema: {
|
|
108
|
+
title: "Type schema info of the ChatGPT",
|
|
109
|
+
description: "Type schema info of the ChatGPT.\n\n`IChatGptSchema` is a type schema info of the ChatGPT function calling.\n\n`IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\nspeciifcation; {@link OpenApiV3_1.IJsonSchema}.\n\nHowever, the `IChatGptSchema` does not follow the entire specification of\nthe OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\nlist of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n\n- Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n- Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n- Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n- Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n- Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n- Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n- Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n- When {@link IChatGptSchema.IConfig.strict} mode\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nIf compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n\n- {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n- {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n- {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n- {@link IChatGptSchema.additionalProperties} is fixed to `false`\n- No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n- When {@link IChatGptSchema.IConfig.strict} mode\n - Every object properties must be required\n - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n\nFor reference, if you've composed the `IChatGptSchema` type with the\n{@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\nonly the recursived named types would be archived into the\n{@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n{@link IChatGptSchema.IReference} type.\n\nAlso, ChatGPT has banned below constraint properties. Instead, I'll will\nfill the {@link IChatGptSchema.__IAttribute.description} property with\nthe comment text like `\"@format uuid\"`.\n\n- {@link OpenApi.IJsonSchema.INumber.minimum}\n- {@link OpenApi.IJsonSchema.INumber.maximum}\n- {@link OpenApi.IJsonSchema.INumber.multipleOf}\n- {@link OpenApi.IJsonSchema.IString.minLength}\n- {@link OpenApi.IJsonSchema.IString.maxLength}\n- {@link OpenApi.IJsonSchema.IString.format}\n- {@link OpenApi.IJsonSchema.IString.pattern}\n- {@link OpenApi.IJsonSchema.IString.contentMediaType}\n- {@link OpenApi.IJsonSchema.IString.default}\n- {@link OpenApi.IJsonSchema.IArray.minItems}\n- {@link OpenApi.IJsonSchema.IArray.maxItems}\n- {@link OpenApi.IJsonSchema.IArray.unique}",
|
|
110
|
+
anyOf: [
|
|
111
|
+
{
|
|
112
|
+
type: "object",
|
|
113
|
+
properties: {
|
|
114
|
+
"enum": {
|
|
115
|
+
title: "Enumeration values",
|
|
116
|
+
description: "Enumeration values.",
|
|
117
|
+
type: "array",
|
|
118
|
+
items: {
|
|
119
|
+
type: "boolean"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
type: {
|
|
123
|
+
title: "Discriminator value of the type",
|
|
124
|
+
description: "Discriminator value of the type.",
|
|
125
|
+
type: "string",
|
|
126
|
+
"enum": [
|
|
127
|
+
"boolean"
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
title: {
|
|
131
|
+
title: "Title of the schema",
|
|
132
|
+
description: "Title of the schema.",
|
|
133
|
+
type: "string"
|
|
134
|
+
},
|
|
135
|
+
description: {
|
|
136
|
+
title: "Detailed description of the schema",
|
|
137
|
+
description: "Detailed description of the schema.",
|
|
138
|
+
type: "string"
|
|
139
|
+
},
|
|
140
|
+
deprecated: {
|
|
141
|
+
title: "Whether the type is deprecated or not",
|
|
142
|
+
description: "Whether the type is deprecated or not.",
|
|
143
|
+
type: "boolean"
|
|
144
|
+
},
|
|
145
|
+
example: {
|
|
146
|
+
title: "Example value",
|
|
147
|
+
description: "Example value."
|
|
148
|
+
},
|
|
149
|
+
examples: {
|
|
150
|
+
description: "Construct a type with a set of properties K of type T",
|
|
151
|
+
type: "object",
|
|
152
|
+
properties: {},
|
|
153
|
+
required: [],
|
|
154
|
+
additionalProperties: {}
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
required: [
|
|
158
|
+
"type"
|
|
159
|
+
],
|
|
160
|
+
description: "Boolean type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IBoolean} type:\n\n> Boolean type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: "object",
|
|
164
|
+
properties: {
|
|
165
|
+
"enum": {
|
|
166
|
+
title: "Enumeration values",
|
|
167
|
+
description: "Enumeration values.",
|
|
168
|
+
type: "array",
|
|
169
|
+
items: {
|
|
170
|
+
type: "number"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
type: {
|
|
174
|
+
title: "Discriminator value of the type",
|
|
175
|
+
description: "Discriminator value of the type.",
|
|
176
|
+
type: "string",
|
|
177
|
+
"enum": [
|
|
178
|
+
"integer"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
title: {
|
|
182
|
+
title: "Title of the schema",
|
|
183
|
+
description: "Title of the schema.",
|
|
184
|
+
type: "string"
|
|
185
|
+
},
|
|
186
|
+
description: {
|
|
187
|
+
title: "Detailed description of the schema",
|
|
188
|
+
description: "Detailed description of the schema.",
|
|
189
|
+
type: "string"
|
|
190
|
+
},
|
|
191
|
+
deprecated: {
|
|
192
|
+
title: "Whether the type is deprecated or not",
|
|
193
|
+
description: "Whether the type is deprecated or not.",
|
|
194
|
+
type: "boolean"
|
|
195
|
+
},
|
|
196
|
+
example: {
|
|
197
|
+
title: "Example value",
|
|
198
|
+
description: "Example value."
|
|
199
|
+
},
|
|
200
|
+
examples: {
|
|
201
|
+
description: "Construct a type with a set of properties K of type T",
|
|
202
|
+
type: "object",
|
|
203
|
+
properties: {},
|
|
204
|
+
required: [],
|
|
205
|
+
additionalProperties: {}
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
required: [
|
|
209
|
+
"type"
|
|
210
|
+
],
|
|
211
|
+
description: "Integer type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IInteger} type:\n\n> Integer type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
type: "object",
|
|
215
|
+
properties: {
|
|
216
|
+
"enum": {
|
|
217
|
+
title: "Enumeration values",
|
|
218
|
+
description: "Enumeration values.",
|
|
219
|
+
type: "array",
|
|
220
|
+
items: {
|
|
221
|
+
type: "number"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
type: {
|
|
225
|
+
title: "Discriminator value of the type",
|
|
226
|
+
description: "Discriminator value of the type.",
|
|
227
|
+
type: "string",
|
|
228
|
+
"enum": [
|
|
229
|
+
"number"
|
|
230
|
+
]
|
|
231
|
+
},
|
|
232
|
+
title: {
|
|
233
|
+
title: "Title of the schema",
|
|
234
|
+
description: "Title of the schema.",
|
|
235
|
+
type: "string"
|
|
236
|
+
},
|
|
237
|
+
description: {
|
|
238
|
+
title: "Detailed description of the schema",
|
|
239
|
+
description: "Detailed description of the schema.",
|
|
240
|
+
type: "string"
|
|
241
|
+
},
|
|
242
|
+
deprecated: {
|
|
243
|
+
title: "Whether the type is deprecated or not",
|
|
244
|
+
description: "Whether the type is deprecated or not.",
|
|
245
|
+
type: "boolean"
|
|
246
|
+
},
|
|
247
|
+
example: {
|
|
248
|
+
title: "Example value",
|
|
249
|
+
description: "Example value."
|
|
250
|
+
},
|
|
251
|
+
examples: {
|
|
252
|
+
description: "Construct a type with a set of properties K of type T",
|
|
253
|
+
type: "object",
|
|
254
|
+
properties: {},
|
|
255
|
+
required: [],
|
|
256
|
+
additionalProperties: {}
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
required: [
|
|
260
|
+
"type"
|
|
261
|
+
],
|
|
262
|
+
description: "Number (double) type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INumber} type:\n\n> Number (double) type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
type: "object",
|
|
266
|
+
properties: {
|
|
267
|
+
"enum": {
|
|
268
|
+
title: "Enumeration values",
|
|
269
|
+
description: "Enumeration values.",
|
|
270
|
+
type: "array",
|
|
271
|
+
items: {
|
|
272
|
+
type: "string"
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
type: {
|
|
276
|
+
title: "Discriminator value of the type",
|
|
277
|
+
description: "Discriminator value of the type.",
|
|
278
|
+
type: "string",
|
|
279
|
+
"enum": [
|
|
280
|
+
"string"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
title: {
|
|
284
|
+
title: "Title of the schema",
|
|
285
|
+
description: "Title of the schema.",
|
|
286
|
+
type: "string"
|
|
287
|
+
},
|
|
288
|
+
description: {
|
|
289
|
+
title: "Detailed description of the schema",
|
|
290
|
+
description: "Detailed description of the schema.",
|
|
291
|
+
type: "string"
|
|
292
|
+
},
|
|
293
|
+
deprecated: {
|
|
294
|
+
title: "Whether the type is deprecated or not",
|
|
295
|
+
description: "Whether the type is deprecated or not.",
|
|
296
|
+
type: "boolean"
|
|
297
|
+
},
|
|
298
|
+
example: {
|
|
299
|
+
title: "Example value",
|
|
300
|
+
description: "Example value."
|
|
301
|
+
},
|
|
302
|
+
examples: {
|
|
303
|
+
description: "Construct a type with a set of properties K of type T",
|
|
304
|
+
type: "object",
|
|
305
|
+
properties: {},
|
|
306
|
+
required: [],
|
|
307
|
+
additionalProperties: {}
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
required: [
|
|
311
|
+
"type"
|
|
312
|
+
],
|
|
313
|
+
description: "String type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IString} type:\n\n> String type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
$ref: "#/$defs/IChatGptSchema.IArray"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
$ref: "#/$defs/IChatGptSchema.IObject"
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
type: "object",
|
|
323
|
+
properties: {
|
|
324
|
+
$ref: {
|
|
325
|
+
title: "Reference to the named schema",
|
|
326
|
+
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 `#/$defs/` which means the type is stored in\nthe {@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
|
|
327
|
+
type: "string"
|
|
328
|
+
},
|
|
329
|
+
title: {
|
|
330
|
+
title: "Title of the schema",
|
|
331
|
+
description: "Title of the schema.",
|
|
332
|
+
type: "string"
|
|
333
|
+
},
|
|
334
|
+
description: {
|
|
335
|
+
title: "Detailed description of the schema",
|
|
336
|
+
description: "Detailed description of the schema.",
|
|
337
|
+
type: "string"
|
|
338
|
+
},
|
|
339
|
+
deprecated: {
|
|
340
|
+
title: "Whether the type is deprecated or not",
|
|
341
|
+
description: "Whether the type is deprecated or not.",
|
|
342
|
+
type: "boolean"
|
|
343
|
+
},
|
|
344
|
+
example: {
|
|
345
|
+
title: "Example value",
|
|
346
|
+
description: "Example value."
|
|
347
|
+
},
|
|
348
|
+
examples: {
|
|
349
|
+
description: "Construct a type with a set of properties K of type T",
|
|
350
|
+
type: "object",
|
|
351
|
+
properties: {},
|
|
352
|
+
required: [],
|
|
353
|
+
additionalProperties: {}
|
|
354
|
+
}
|
|
355
|
+
},
|
|
356
|
+
required: [
|
|
357
|
+
"$ref"
|
|
358
|
+
],
|
|
359
|
+
description: "Reference type directing named schema.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IReference} type:\n\n> Reference type directing named schema.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
$ref: "#/$defs/IChatGptSchema.IAnyOf"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
type: "object",
|
|
366
|
+
properties: {
|
|
367
|
+
type: {
|
|
368
|
+
title: "Discriminator value of the type",
|
|
369
|
+
description: "Discriminator value of the type.",
|
|
370
|
+
type: "string",
|
|
371
|
+
"enum": [
|
|
372
|
+
"null"
|
|
373
|
+
]
|
|
374
|
+
},
|
|
375
|
+
title: {
|
|
376
|
+
title: "Title of the schema",
|
|
377
|
+
description: "Title of the schema.",
|
|
378
|
+
type: "string"
|
|
379
|
+
},
|
|
380
|
+
description: {
|
|
381
|
+
title: "Detailed description of the schema",
|
|
382
|
+
description: "Detailed description of the schema.",
|
|
383
|
+
type: "string"
|
|
384
|
+
},
|
|
385
|
+
deprecated: {
|
|
386
|
+
title: "Whether the type is deprecated or not",
|
|
387
|
+
description: "Whether the type is deprecated or not.",
|
|
388
|
+
type: "boolean"
|
|
389
|
+
},
|
|
390
|
+
example: {
|
|
391
|
+
title: "Example value",
|
|
392
|
+
description: "Example value."
|
|
393
|
+
},
|
|
394
|
+
examples: {
|
|
395
|
+
description: "Construct a type with a set of properties K of type T",
|
|
396
|
+
type: "object",
|
|
397
|
+
properties: {},
|
|
398
|
+
required: [],
|
|
399
|
+
additionalProperties: {}
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
required: [
|
|
403
|
+
"type"
|
|
404
|
+
],
|
|
405
|
+
description: "Null type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INull} type:\n\n> Null type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
type: "object",
|
|
409
|
+
properties: {
|
|
410
|
+
title: {
|
|
411
|
+
title: "Title of the schema",
|
|
412
|
+
description: "Title of the schema.",
|
|
413
|
+
type: "string"
|
|
414
|
+
},
|
|
415
|
+
description: {
|
|
416
|
+
title: "Detailed description of the schema",
|
|
417
|
+
description: "Detailed description of the schema.",
|
|
418
|
+
type: "string"
|
|
419
|
+
},
|
|
420
|
+
deprecated: {
|
|
421
|
+
title: "Whether the type is deprecated or not",
|
|
422
|
+
description: "Whether the type is deprecated or not.",
|
|
423
|
+
type: "boolean"
|
|
424
|
+
},
|
|
425
|
+
example: {
|
|
426
|
+
title: "Example value",
|
|
427
|
+
description: "Example value."
|
|
428
|
+
},
|
|
429
|
+
examples: {
|
|
430
|
+
description: "Construct a type with a set of properties K of type T",
|
|
431
|
+
type: "object",
|
|
432
|
+
properties: {},
|
|
433
|
+
required: [],
|
|
434
|
+
additionalProperties: {}
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
required: [],
|
|
438
|
+
description: "Unknown, the `any` type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IUnknown} type:\n\n> Unknown, the `any` type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
},
|
|
442
|
+
"IChatGptSchema.IArray": {
|
|
443
|
+
description: "Array type info.",
|
|
444
|
+
type: "object",
|
|
445
|
+
properties: {
|
|
446
|
+
items: {
|
|
447
|
+
title: "Items type info",
|
|
448
|
+
$ref: "#/$defs/IChatGptSchema"
|
|
449
|
+
},
|
|
450
|
+
type: {
|
|
451
|
+
title: "Discriminator value of the type",
|
|
452
|
+
description: "Discriminator value of the type.",
|
|
453
|
+
type: "string",
|
|
454
|
+
"enum": [
|
|
455
|
+
"array"
|
|
456
|
+
]
|
|
457
|
+
},
|
|
458
|
+
title: {
|
|
459
|
+
title: "Title of the schema",
|
|
460
|
+
description: "Title of the schema.",
|
|
461
|
+
type: "string"
|
|
462
|
+
},
|
|
463
|
+
description: {
|
|
464
|
+
title: "Detailed description of the schema",
|
|
465
|
+
description: "Detailed description of the schema.",
|
|
466
|
+
type: "string"
|
|
467
|
+
},
|
|
468
|
+
deprecated: {
|
|
469
|
+
title: "Whether the type is deprecated or not",
|
|
470
|
+
description: "Whether the type is deprecated or not.",
|
|
471
|
+
type: "boolean"
|
|
472
|
+
},
|
|
473
|
+
example: {
|
|
474
|
+
title: "Example value",
|
|
475
|
+
description: "Example value."
|
|
476
|
+
},
|
|
477
|
+
examples: {
|
|
478
|
+
description: "Construct a type with a set of properties K of type T",
|
|
479
|
+
type: "object",
|
|
480
|
+
properties: {},
|
|
481
|
+
required: [],
|
|
482
|
+
additionalProperties: {}
|
|
483
|
+
}
|
|
484
|
+
},
|
|
485
|
+
required: [
|
|
486
|
+
"items",
|
|
487
|
+
"type"
|
|
488
|
+
]
|
|
489
|
+
},
|
|
490
|
+
"IChatGptSchema.IObject": {
|
|
491
|
+
description: "Object type info.",
|
|
492
|
+
type: "object",
|
|
493
|
+
properties: {
|
|
494
|
+
properties: {
|
|
495
|
+
title: "Properties of the object",
|
|
496
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
497
|
+
},
|
|
498
|
+
additionalProperties: {
|
|
499
|
+
title: "Additional properties' info",
|
|
500
|
+
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\nBy the way, if you've configured {@link IChatGptSchema.IConfig.strict} as `true`,\nChatGPT function calling does not support such dynamic key typed properties, so\nthe `additionalProperties` becomes always `false`.",
|
|
501
|
+
anyOf: [
|
|
502
|
+
{
|
|
503
|
+
type: "boolean"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
type: "object",
|
|
507
|
+
properties: {
|
|
508
|
+
"enum": {
|
|
509
|
+
title: "Enumeration values",
|
|
510
|
+
description: "Enumeration values.",
|
|
511
|
+
type: "array",
|
|
512
|
+
items: {
|
|
513
|
+
type: "string"
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
type: {
|
|
517
|
+
title: "Discriminator value of the type",
|
|
518
|
+
description: "Discriminator value of the type.",
|
|
519
|
+
type: "string",
|
|
520
|
+
"enum": [
|
|
521
|
+
"string"
|
|
522
|
+
]
|
|
523
|
+
},
|
|
524
|
+
title: {
|
|
525
|
+
title: "Title of the schema",
|
|
526
|
+
description: "Title of the schema.",
|
|
527
|
+
type: "string"
|
|
528
|
+
},
|
|
529
|
+
description: {
|
|
530
|
+
title: "Detailed description of the schema",
|
|
531
|
+
description: "Detailed description of the schema.",
|
|
532
|
+
type: "string"
|
|
533
|
+
},
|
|
534
|
+
deprecated: {
|
|
535
|
+
title: "Whether the type is deprecated or not",
|
|
536
|
+
description: "Whether the type is deprecated or not.",
|
|
537
|
+
type: "boolean"
|
|
538
|
+
},
|
|
539
|
+
example: {
|
|
540
|
+
title: "Example value",
|
|
541
|
+
description: "Example value."
|
|
542
|
+
},
|
|
543
|
+
examples: {
|
|
544
|
+
description: "Construct a type with a set of properties K of type T",
|
|
545
|
+
type: "object",
|
|
546
|
+
properties: {},
|
|
547
|
+
required: [],
|
|
548
|
+
additionalProperties: {}
|
|
549
|
+
}
|
|
550
|
+
},
|
|
551
|
+
required: [
|
|
552
|
+
"type"
|
|
553
|
+
],
|
|
554
|
+
description: "String type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IString} type:\n\n> String type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
type: "object",
|
|
558
|
+
properties: {
|
|
559
|
+
"enum": {
|
|
560
|
+
title: "Enumeration values",
|
|
561
|
+
description: "Enumeration values.",
|
|
562
|
+
type: "array",
|
|
563
|
+
items: {
|
|
564
|
+
type: "number"
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
type: {
|
|
568
|
+
title: "Discriminator value of the type",
|
|
569
|
+
description: "Discriminator value of the type.",
|
|
570
|
+
type: "string",
|
|
571
|
+
"enum": [
|
|
572
|
+
"number"
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
title: {
|
|
576
|
+
title: "Title of the schema",
|
|
577
|
+
description: "Title of the schema.",
|
|
578
|
+
type: "string"
|
|
579
|
+
},
|
|
580
|
+
description: {
|
|
581
|
+
title: "Detailed description of the schema",
|
|
582
|
+
description: "Detailed description of the schema.",
|
|
583
|
+
type: "string"
|
|
584
|
+
},
|
|
585
|
+
deprecated: {
|
|
586
|
+
title: "Whether the type is deprecated or not",
|
|
587
|
+
description: "Whether the type is deprecated or not.",
|
|
588
|
+
type: "boolean"
|
|
589
|
+
},
|
|
590
|
+
example: {
|
|
591
|
+
title: "Example value",
|
|
592
|
+
description: "Example value."
|
|
593
|
+
},
|
|
594
|
+
examples: {
|
|
595
|
+
description: "Construct a type with a set of properties K of type T",
|
|
596
|
+
type: "object",
|
|
597
|
+
properties: {},
|
|
598
|
+
required: [],
|
|
599
|
+
additionalProperties: {}
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
required: [
|
|
603
|
+
"type"
|
|
604
|
+
],
|
|
605
|
+
description: "Number (double) type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INumber} type:\n\n> Number (double) type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
type: "object",
|
|
609
|
+
properties: {
|
|
610
|
+
"enum": {
|
|
611
|
+
title: "Enumeration values",
|
|
612
|
+
description: "Enumeration values.",
|
|
613
|
+
type: "array",
|
|
614
|
+
items: {
|
|
615
|
+
type: "number"
|
|
616
|
+
}
|
|
617
|
+
},
|
|
618
|
+
type: {
|
|
619
|
+
title: "Discriminator value of the type",
|
|
620
|
+
description: "Discriminator value of the type.",
|
|
621
|
+
type: "string",
|
|
622
|
+
"enum": [
|
|
623
|
+
"integer"
|
|
624
|
+
]
|
|
625
|
+
},
|
|
626
|
+
title: {
|
|
627
|
+
title: "Title of the schema",
|
|
628
|
+
description: "Title of the schema.",
|
|
629
|
+
type: "string"
|
|
630
|
+
},
|
|
631
|
+
description: {
|
|
632
|
+
title: "Detailed description of the schema",
|
|
633
|
+
description: "Detailed description of the schema.",
|
|
634
|
+
type: "string"
|
|
635
|
+
},
|
|
636
|
+
deprecated: {
|
|
637
|
+
title: "Whether the type is deprecated or not",
|
|
638
|
+
description: "Whether the type is deprecated or not.",
|
|
639
|
+
type: "boolean"
|
|
640
|
+
},
|
|
641
|
+
example: {
|
|
642
|
+
title: "Example value",
|
|
643
|
+
description: "Example value."
|
|
644
|
+
},
|
|
645
|
+
examples: {
|
|
646
|
+
description: "Construct a type with a set of properties K of type T",
|
|
647
|
+
type: "object",
|
|
648
|
+
properties: {},
|
|
649
|
+
required: [],
|
|
650
|
+
additionalProperties: {}
|
|
651
|
+
}
|
|
652
|
+
},
|
|
653
|
+
required: [
|
|
654
|
+
"type"
|
|
655
|
+
],
|
|
656
|
+
description: "Integer type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IInteger} type:\n\n> Integer type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
type: "object",
|
|
660
|
+
properties: {
|
|
661
|
+
"enum": {
|
|
662
|
+
title: "Enumeration values",
|
|
663
|
+
description: "Enumeration values.",
|
|
664
|
+
type: "array",
|
|
665
|
+
items: {
|
|
666
|
+
type: "boolean"
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
type: {
|
|
670
|
+
title: "Discriminator value of the type",
|
|
671
|
+
description: "Discriminator value of the type.",
|
|
672
|
+
type: "string",
|
|
673
|
+
"enum": [
|
|
674
|
+
"boolean"
|
|
675
|
+
]
|
|
676
|
+
},
|
|
677
|
+
title: {
|
|
678
|
+
title: "Title of the schema",
|
|
679
|
+
description: "Title of the schema.",
|
|
680
|
+
type: "string"
|
|
681
|
+
},
|
|
682
|
+
description: {
|
|
683
|
+
title: "Detailed description of the schema",
|
|
684
|
+
description: "Detailed description of the schema.",
|
|
685
|
+
type: "string"
|
|
686
|
+
},
|
|
687
|
+
deprecated: {
|
|
688
|
+
title: "Whether the type is deprecated or not",
|
|
689
|
+
description: "Whether the type is deprecated or not.",
|
|
690
|
+
type: "boolean"
|
|
691
|
+
},
|
|
692
|
+
example: {
|
|
693
|
+
title: "Example value",
|
|
694
|
+
description: "Example value."
|
|
695
|
+
},
|
|
696
|
+
examples: {
|
|
697
|
+
description: "Construct a type with a set of properties K of type T",
|
|
698
|
+
type: "object",
|
|
699
|
+
properties: {},
|
|
700
|
+
required: [],
|
|
701
|
+
additionalProperties: {}
|
|
702
|
+
}
|
|
703
|
+
},
|
|
704
|
+
required: [
|
|
705
|
+
"type"
|
|
706
|
+
],
|
|
707
|
+
description: "Boolean type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IBoolean} type:\n\n> Boolean type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
$ref: "#/$defs/IChatGptSchema.IArray"
|
|
711
|
+
},
|
|
712
|
+
{
|
|
713
|
+
$ref: "#/$defs/IChatGptSchema.IObject"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
type: "object",
|
|
717
|
+
properties: {
|
|
718
|
+
$ref: {
|
|
719
|
+
title: "Reference to the named schema",
|
|
720
|
+
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 `#/$defs/` which means the type is stored in\nthe {@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
|
|
721
|
+
type: "string"
|
|
722
|
+
},
|
|
723
|
+
title: {
|
|
724
|
+
title: "Title of the schema",
|
|
725
|
+
description: "Title of the schema.",
|
|
726
|
+
type: "string"
|
|
727
|
+
},
|
|
728
|
+
description: {
|
|
729
|
+
title: "Detailed description of the schema",
|
|
730
|
+
description: "Detailed description of the schema.",
|
|
731
|
+
type: "string"
|
|
732
|
+
},
|
|
733
|
+
deprecated: {
|
|
734
|
+
title: "Whether the type is deprecated or not",
|
|
735
|
+
description: "Whether the type is deprecated or not.",
|
|
736
|
+
type: "boolean"
|
|
737
|
+
},
|
|
738
|
+
example: {
|
|
739
|
+
title: "Example value",
|
|
740
|
+
description: "Example value."
|
|
741
|
+
},
|
|
742
|
+
examples: {
|
|
743
|
+
description: "Construct a type with a set of properties K of type T",
|
|
744
|
+
type: "object",
|
|
745
|
+
properties: {},
|
|
746
|
+
required: [],
|
|
747
|
+
additionalProperties: {}
|
|
748
|
+
}
|
|
749
|
+
},
|
|
750
|
+
required: [
|
|
751
|
+
"$ref"
|
|
752
|
+
],
|
|
753
|
+
description: "Reference type directing named schema.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IReference} type:\n\n> Reference type directing named schema.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
754
|
+
},
|
|
755
|
+
{
|
|
756
|
+
$ref: "#/$defs/IChatGptSchema.IAnyOf"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
type: "object",
|
|
760
|
+
properties: {
|
|
761
|
+
title: {
|
|
762
|
+
title: "Title of the schema",
|
|
763
|
+
description: "Title of the schema.",
|
|
764
|
+
type: "string"
|
|
765
|
+
},
|
|
766
|
+
description: {
|
|
767
|
+
title: "Detailed description of the schema",
|
|
768
|
+
description: "Detailed description of the schema.",
|
|
769
|
+
type: "string"
|
|
770
|
+
},
|
|
771
|
+
deprecated: {
|
|
772
|
+
title: "Whether the type is deprecated or not",
|
|
773
|
+
description: "Whether the type is deprecated or not.",
|
|
774
|
+
type: "boolean"
|
|
775
|
+
},
|
|
776
|
+
example: {
|
|
777
|
+
title: "Example value",
|
|
778
|
+
description: "Example value."
|
|
779
|
+
},
|
|
780
|
+
examples: {
|
|
781
|
+
description: "Construct a type with a set of properties K of type T",
|
|
782
|
+
type: "object",
|
|
783
|
+
properties: {},
|
|
784
|
+
required: [],
|
|
785
|
+
additionalProperties: {}
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
required: [],
|
|
789
|
+
description: "Unknown, the `any` type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IUnknown} type:\n\n> Unknown, the `any` type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
type: "object",
|
|
793
|
+
properties: {
|
|
794
|
+
type: {
|
|
795
|
+
title: "Discriminator value of the type",
|
|
796
|
+
description: "Discriminator value of the type.",
|
|
797
|
+
type: "string",
|
|
798
|
+
"enum": [
|
|
799
|
+
"null"
|
|
800
|
+
]
|
|
801
|
+
},
|
|
802
|
+
title: {
|
|
803
|
+
title: "Title of the schema",
|
|
804
|
+
description: "Title of the schema.",
|
|
805
|
+
type: "string"
|
|
806
|
+
},
|
|
807
|
+
description: {
|
|
808
|
+
title: "Detailed description of the schema",
|
|
809
|
+
description: "Detailed description of the schema.",
|
|
810
|
+
type: "string"
|
|
811
|
+
},
|
|
812
|
+
deprecated: {
|
|
813
|
+
title: "Whether the type is deprecated or not",
|
|
814
|
+
description: "Whether the type is deprecated or not.",
|
|
815
|
+
type: "boolean"
|
|
816
|
+
},
|
|
817
|
+
example: {
|
|
818
|
+
title: "Example value",
|
|
819
|
+
description: "Example value."
|
|
820
|
+
},
|
|
821
|
+
examples: {
|
|
822
|
+
description: "Construct a type with a set of properties K of type T",
|
|
823
|
+
type: "object",
|
|
824
|
+
properties: {},
|
|
825
|
+
required: [],
|
|
826
|
+
additionalProperties: {}
|
|
827
|
+
}
|
|
828
|
+
},
|
|
829
|
+
required: [
|
|
830
|
+
"type"
|
|
831
|
+
],
|
|
832
|
+
description: "Null type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INull} type:\n\n> Null type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
833
|
+
}
|
|
834
|
+
]
|
|
835
|
+
},
|
|
836
|
+
required: {
|
|
837
|
+
title: "List of key values of the required properties",
|
|
838
|
+
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```",
|
|
839
|
+
type: "array",
|
|
840
|
+
items: {
|
|
841
|
+
type: "string"
|
|
842
|
+
}
|
|
843
|
+
},
|
|
844
|
+
type: {
|
|
845
|
+
title: "Discriminator value of the type",
|
|
846
|
+
description: "Discriminator value of the type.",
|
|
847
|
+
type: "string",
|
|
848
|
+
"enum": [
|
|
849
|
+
"object"
|
|
850
|
+
]
|
|
851
|
+
},
|
|
852
|
+
title: {
|
|
853
|
+
title: "Title of the schema",
|
|
854
|
+
description: "Title of the schema.",
|
|
855
|
+
type: "string"
|
|
856
|
+
},
|
|
857
|
+
description: {
|
|
858
|
+
title: "Detailed description of the schema",
|
|
859
|
+
description: "Detailed description of the schema.",
|
|
860
|
+
type: "string"
|
|
861
|
+
},
|
|
862
|
+
deprecated: {
|
|
863
|
+
title: "Whether the type is deprecated or not",
|
|
864
|
+
description: "Whether the type is deprecated or not.",
|
|
865
|
+
type: "boolean"
|
|
866
|
+
},
|
|
867
|
+
example: {
|
|
868
|
+
title: "Example value",
|
|
869
|
+
description: "Example value."
|
|
870
|
+
},
|
|
871
|
+
examples: {
|
|
872
|
+
description: "Construct a type with a set of properties K of type T",
|
|
873
|
+
type: "object",
|
|
874
|
+
properties: {},
|
|
875
|
+
required: [],
|
|
876
|
+
additionalProperties: {}
|
|
877
|
+
}
|
|
878
|
+
},
|
|
879
|
+
required: [
|
|
880
|
+
"properties",
|
|
881
|
+
"required",
|
|
882
|
+
"type"
|
|
883
|
+
]
|
|
884
|
+
},
|
|
885
|
+
"IChatGptSchema.IAnyOf": {
|
|
886
|
+
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 IChatGptSchema} forcibly\nconverts it to `oneOf` type.",
|
|
887
|
+
type: "object",
|
|
888
|
+
properties: {
|
|
889
|
+
anyOf: {
|
|
890
|
+
title: "List of the union types",
|
|
891
|
+
description: "List of the union types.",
|
|
892
|
+
type: "array",
|
|
893
|
+
items: {
|
|
894
|
+
anyOf: [
|
|
895
|
+
{
|
|
896
|
+
type: "object",
|
|
897
|
+
properties: {
|
|
898
|
+
"enum": {
|
|
899
|
+
title: "Enumeration values",
|
|
900
|
+
description: "Enumeration values.",
|
|
901
|
+
type: "array",
|
|
902
|
+
items: {
|
|
903
|
+
type: "string"
|
|
904
|
+
}
|
|
905
|
+
},
|
|
906
|
+
type: {
|
|
907
|
+
title: "Discriminator value of the type",
|
|
908
|
+
description: "Discriminator value of the type.",
|
|
909
|
+
type: "string",
|
|
910
|
+
"enum": [
|
|
911
|
+
"string"
|
|
912
|
+
]
|
|
913
|
+
},
|
|
914
|
+
title: {
|
|
915
|
+
title: "Title of the schema",
|
|
916
|
+
description: "Title of the schema.",
|
|
917
|
+
type: "string"
|
|
918
|
+
},
|
|
919
|
+
description: {
|
|
920
|
+
title: "Detailed description of the schema",
|
|
921
|
+
description: "Detailed description of the schema.",
|
|
922
|
+
type: "string"
|
|
923
|
+
},
|
|
924
|
+
deprecated: {
|
|
925
|
+
title: "Whether the type is deprecated or not",
|
|
926
|
+
description: "Whether the type is deprecated or not.",
|
|
927
|
+
type: "boolean"
|
|
928
|
+
},
|
|
929
|
+
example: {
|
|
930
|
+
title: "Example value",
|
|
931
|
+
description: "Example value."
|
|
932
|
+
},
|
|
933
|
+
examples: {
|
|
934
|
+
description: "Construct a type with a set of properties K of type T",
|
|
935
|
+
type: "object",
|
|
936
|
+
properties: {},
|
|
937
|
+
required: [],
|
|
938
|
+
additionalProperties: {}
|
|
939
|
+
}
|
|
940
|
+
},
|
|
941
|
+
required: [
|
|
942
|
+
"type"
|
|
943
|
+
],
|
|
944
|
+
description: "String type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IString} type:\n\n> String type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
type: "object",
|
|
948
|
+
properties: {
|
|
949
|
+
"enum": {
|
|
950
|
+
title: "Enumeration values",
|
|
951
|
+
description: "Enumeration values.",
|
|
952
|
+
type: "array",
|
|
953
|
+
items: {
|
|
954
|
+
type: "number"
|
|
955
|
+
}
|
|
956
|
+
},
|
|
957
|
+
type: {
|
|
958
|
+
title: "Discriminator value of the type",
|
|
959
|
+
description: "Discriminator value of the type.",
|
|
960
|
+
type: "string",
|
|
961
|
+
"enum": [
|
|
962
|
+
"number"
|
|
963
|
+
]
|
|
964
|
+
},
|
|
965
|
+
title: {
|
|
966
|
+
title: "Title of the schema",
|
|
967
|
+
description: "Title of the schema.",
|
|
968
|
+
type: "string"
|
|
969
|
+
},
|
|
970
|
+
description: {
|
|
971
|
+
title: "Detailed description of the schema",
|
|
972
|
+
description: "Detailed description of the schema.",
|
|
973
|
+
type: "string"
|
|
974
|
+
},
|
|
975
|
+
deprecated: {
|
|
976
|
+
title: "Whether the type is deprecated or not",
|
|
977
|
+
description: "Whether the type is deprecated or not.",
|
|
978
|
+
type: "boolean"
|
|
979
|
+
},
|
|
980
|
+
example: {
|
|
981
|
+
title: "Example value",
|
|
982
|
+
description: "Example value."
|
|
983
|
+
},
|
|
984
|
+
examples: {
|
|
985
|
+
description: "Construct a type with a set of properties K of type T",
|
|
986
|
+
type: "object",
|
|
987
|
+
properties: {},
|
|
988
|
+
required: [],
|
|
989
|
+
additionalProperties: {}
|
|
990
|
+
}
|
|
991
|
+
},
|
|
992
|
+
required: [
|
|
993
|
+
"type"
|
|
994
|
+
],
|
|
995
|
+
description: "Number (double) type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INumber} type:\n\n> Number (double) type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
996
|
+
},
|
|
997
|
+
{
|
|
998
|
+
type: "object",
|
|
999
|
+
properties: {
|
|
1000
|
+
"enum": {
|
|
1001
|
+
title: "Enumeration values",
|
|
1002
|
+
description: "Enumeration values.",
|
|
1003
|
+
type: "array",
|
|
1004
|
+
items: {
|
|
1005
|
+
type: "number"
|
|
1006
|
+
}
|
|
1007
|
+
},
|
|
1008
|
+
type: {
|
|
1009
|
+
title: "Discriminator value of the type",
|
|
1010
|
+
description: "Discriminator value of the type.",
|
|
1011
|
+
type: "string",
|
|
1012
|
+
"enum": [
|
|
1013
|
+
"integer"
|
|
1014
|
+
]
|
|
1015
|
+
},
|
|
1016
|
+
title: {
|
|
1017
|
+
title: "Title of the schema",
|
|
1018
|
+
description: "Title of the schema.",
|
|
1019
|
+
type: "string"
|
|
1020
|
+
},
|
|
1021
|
+
description: {
|
|
1022
|
+
title: "Detailed description of the schema",
|
|
1023
|
+
description: "Detailed description of the schema.",
|
|
1024
|
+
type: "string"
|
|
1025
|
+
},
|
|
1026
|
+
deprecated: {
|
|
1027
|
+
title: "Whether the type is deprecated or not",
|
|
1028
|
+
description: "Whether the type is deprecated or not.",
|
|
1029
|
+
type: "boolean"
|
|
1030
|
+
},
|
|
1031
|
+
example: {
|
|
1032
|
+
title: "Example value",
|
|
1033
|
+
description: "Example value."
|
|
1034
|
+
},
|
|
1035
|
+
examples: {
|
|
1036
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1037
|
+
type: "object",
|
|
1038
|
+
properties: {},
|
|
1039
|
+
required: [],
|
|
1040
|
+
additionalProperties: {}
|
|
1041
|
+
}
|
|
1042
|
+
},
|
|
1043
|
+
required: [
|
|
1044
|
+
"type"
|
|
1045
|
+
],
|
|
1046
|
+
description: "Integer type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IInteger} type:\n\n> Integer type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1047
|
+
},
|
|
1048
|
+
{
|
|
1049
|
+
type: "object",
|
|
1050
|
+
properties: {
|
|
1051
|
+
"enum": {
|
|
1052
|
+
title: "Enumeration values",
|
|
1053
|
+
description: "Enumeration values.",
|
|
1054
|
+
type: "array",
|
|
1055
|
+
items: {
|
|
1056
|
+
type: "boolean"
|
|
1057
|
+
}
|
|
1058
|
+
},
|
|
1059
|
+
type: {
|
|
1060
|
+
title: "Discriminator value of the type",
|
|
1061
|
+
description: "Discriminator value of the type.",
|
|
1062
|
+
type: "string",
|
|
1063
|
+
"enum": [
|
|
1064
|
+
"boolean"
|
|
1065
|
+
]
|
|
1066
|
+
},
|
|
1067
|
+
title: {
|
|
1068
|
+
title: "Title of the schema",
|
|
1069
|
+
description: "Title of the schema.",
|
|
1070
|
+
type: "string"
|
|
1071
|
+
},
|
|
1072
|
+
description: {
|
|
1073
|
+
title: "Detailed description of the schema",
|
|
1074
|
+
description: "Detailed description of the schema.",
|
|
1075
|
+
type: "string"
|
|
1076
|
+
},
|
|
1077
|
+
deprecated: {
|
|
1078
|
+
title: "Whether the type is deprecated or not",
|
|
1079
|
+
description: "Whether the type is deprecated or not.",
|
|
1080
|
+
type: "boolean"
|
|
1081
|
+
},
|
|
1082
|
+
example: {
|
|
1083
|
+
title: "Example value",
|
|
1084
|
+
description: "Example value."
|
|
1085
|
+
},
|
|
1086
|
+
examples: {
|
|
1087
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1088
|
+
type: "object",
|
|
1089
|
+
properties: {},
|
|
1090
|
+
required: [],
|
|
1091
|
+
additionalProperties: {}
|
|
1092
|
+
}
|
|
1093
|
+
},
|
|
1094
|
+
required: [
|
|
1095
|
+
"type"
|
|
1096
|
+
],
|
|
1097
|
+
description: "Boolean type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IBoolean} type:\n\n> Boolean type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
$ref: "#/$defs/IChatGptSchema.IArray"
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
$ref: "#/$defs/IChatGptSchema.IObject"
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
type: "object",
|
|
1107
|
+
properties: {
|
|
1108
|
+
$ref: {
|
|
1109
|
+
title: "Reference to the named schema",
|
|
1110
|
+
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 `#/$defs/` which means the type is stored in\nthe {@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
|
|
1111
|
+
type: "string"
|
|
1112
|
+
},
|
|
1113
|
+
title: {
|
|
1114
|
+
title: "Title of the schema",
|
|
1115
|
+
description: "Title of the schema.",
|
|
1116
|
+
type: "string"
|
|
1117
|
+
},
|
|
1118
|
+
description: {
|
|
1119
|
+
title: "Detailed description of the schema",
|
|
1120
|
+
description: "Detailed description of the schema.",
|
|
1121
|
+
type: "string"
|
|
1122
|
+
},
|
|
1123
|
+
deprecated: {
|
|
1124
|
+
title: "Whether the type is deprecated or not",
|
|
1125
|
+
description: "Whether the type is deprecated or not.",
|
|
1126
|
+
type: "boolean"
|
|
1127
|
+
},
|
|
1128
|
+
example: {
|
|
1129
|
+
title: "Example value",
|
|
1130
|
+
description: "Example value."
|
|
1131
|
+
},
|
|
1132
|
+
examples: {
|
|
1133
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1134
|
+
type: "object",
|
|
1135
|
+
properties: {},
|
|
1136
|
+
required: [],
|
|
1137
|
+
additionalProperties: {}
|
|
1138
|
+
}
|
|
1139
|
+
},
|
|
1140
|
+
required: [
|
|
1141
|
+
"$ref"
|
|
1142
|
+
],
|
|
1143
|
+
description: "Reference type directing named schema.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IReference} type:\n\n> Reference type directing named schema.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1144
|
+
},
|
|
1145
|
+
{
|
|
1146
|
+
type: "object",
|
|
1147
|
+
properties: {
|
|
1148
|
+
title: {
|
|
1149
|
+
title: "Title of the schema",
|
|
1150
|
+
description: "Title of the schema.",
|
|
1151
|
+
type: "string"
|
|
1152
|
+
},
|
|
1153
|
+
description: {
|
|
1154
|
+
title: "Detailed description of the schema",
|
|
1155
|
+
description: "Detailed description of the schema.",
|
|
1156
|
+
type: "string"
|
|
1157
|
+
},
|
|
1158
|
+
deprecated: {
|
|
1159
|
+
title: "Whether the type is deprecated or not",
|
|
1160
|
+
description: "Whether the type is deprecated or not.",
|
|
1161
|
+
type: "boolean"
|
|
1162
|
+
},
|
|
1163
|
+
example: {
|
|
1164
|
+
title: "Example value",
|
|
1165
|
+
description: "Example value."
|
|
1166
|
+
},
|
|
1167
|
+
examples: {
|
|
1168
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1169
|
+
type: "object",
|
|
1170
|
+
properties: {},
|
|
1171
|
+
required: [],
|
|
1172
|
+
additionalProperties: {}
|
|
1173
|
+
}
|
|
1174
|
+
},
|
|
1175
|
+
required: [],
|
|
1176
|
+
description: "Unknown, the `any` type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IUnknown} type:\n\n> Unknown, the `any` type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
type: "object",
|
|
1180
|
+
properties: {
|
|
1181
|
+
type: {
|
|
1182
|
+
title: "Discriminator value of the type",
|
|
1183
|
+
description: "Discriminator value of the type.",
|
|
1184
|
+
type: "string",
|
|
1185
|
+
"enum": [
|
|
1186
|
+
"null"
|
|
1187
|
+
]
|
|
1188
|
+
},
|
|
1189
|
+
title: {
|
|
1190
|
+
title: "Title of the schema",
|
|
1191
|
+
description: "Title of the schema.",
|
|
1192
|
+
type: "string"
|
|
1193
|
+
},
|
|
1194
|
+
description: {
|
|
1195
|
+
title: "Detailed description of the schema",
|
|
1196
|
+
description: "Detailed description of the schema.",
|
|
1197
|
+
type: "string"
|
|
1198
|
+
},
|
|
1199
|
+
deprecated: {
|
|
1200
|
+
title: "Whether the type is deprecated or not",
|
|
1201
|
+
description: "Whether the type is deprecated or not.",
|
|
1202
|
+
type: "boolean"
|
|
1203
|
+
},
|
|
1204
|
+
example: {
|
|
1205
|
+
title: "Example value",
|
|
1206
|
+
description: "Example value."
|
|
1207
|
+
},
|
|
1208
|
+
examples: {
|
|
1209
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1210
|
+
type: "object",
|
|
1211
|
+
properties: {},
|
|
1212
|
+
required: [],
|
|
1213
|
+
additionalProperties: {}
|
|
1214
|
+
}
|
|
1215
|
+
},
|
|
1216
|
+
required: [
|
|
1217
|
+
"type"
|
|
1218
|
+
],
|
|
1219
|
+
description: "Null type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INull} type:\n\n> Null type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1220
|
+
}
|
|
1221
|
+
]
|
|
1222
|
+
}
|
|
1223
|
+
},
|
|
1224
|
+
title: {
|
|
1225
|
+
title: "Title of the schema",
|
|
1226
|
+
description: "Title of the schema.",
|
|
1227
|
+
type: "string"
|
|
1228
|
+
},
|
|
1229
|
+
description: {
|
|
1230
|
+
title: "Detailed description of the schema",
|
|
1231
|
+
description: "Detailed description of the schema.",
|
|
1232
|
+
type: "string"
|
|
1233
|
+
},
|
|
1234
|
+
deprecated: {
|
|
1235
|
+
title: "Whether the type is deprecated or not",
|
|
1236
|
+
description: "Whether the type is deprecated or not.",
|
|
1237
|
+
type: "boolean"
|
|
1238
|
+
},
|
|
1239
|
+
example: {
|
|
1240
|
+
title: "Example value",
|
|
1241
|
+
description: "Example value."
|
|
1242
|
+
},
|
|
1243
|
+
examples: {
|
|
1244
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1245
|
+
type: "object",
|
|
1246
|
+
properties: {},
|
|
1247
|
+
required: [],
|
|
1248
|
+
additionalProperties: {}
|
|
1249
|
+
}
|
|
1250
|
+
},
|
|
1251
|
+
required: [
|
|
1252
|
+
"anyOf"
|
|
1253
|
+
]
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
},
|
|
1257
|
+
output: {
|
|
1258
|
+
type: "array",
|
|
1259
|
+
items: {
|
|
1260
|
+
description: "LLM function calling schema from HTTP (OpenAPI) operation.\n\n`IHttpLlmFunction` is a data structure representing a function converted\nfrom the {@link OpenApi.IOperation OpenAPI operation}, used for the LLM\n(Large Language Model) function calling. It's a typical RPC (Remote Procedure Call)\nstructure containing the function {@link name}, {@link parameters}, and\n{@link output return type}.\n\nIf you provide this `IHttpLlmFunction` data to the LLM provider like \"OpenAI\",\nthe \"OpenAI\" will compose a function arguments by analyzing conversations with\nthe user. With the LLM composed arguments, you can execute the function through\n{@link LlmFetcher.execute} and get the result.\n\nFor reference, different between `IHttpLlmFunction` and its origin source\n{@link OpenApi.IOperation} is, `IHttpLlmFunction` has converted every type schema\ninformation from {@link OpenApi.IJsonSchema} to {@link ILlmSchemaV3} to escape\n{@link OpenApi.IJsonSchema.IReference reference types}, and downgrade the version\nof the JSON schema to OpenAPI 3.0. It's because LLM function call feature cannot\nunderstand both reference types and OpenAPI 3.1 specification.\n\nAdditionally, the properties' rule is:\n\n- `pathParameters`: Path parameters of {@link OpenApi.IOperation.parameters}\n- `query`: Query parameter of {@link IHttpMigrateRoute.query}\n- `body`: Body parameter of {@link IHttpMigrateRoute.body}\n\n```typescript\n{\n ...pathParameters,\n query,\n body,\n}\n```",
|
|
1261
|
+
type: "object",
|
|
1262
|
+
properties: {
|
|
1263
|
+
method: {
|
|
1264
|
+
title: "HTTP method of the endpoint",
|
|
1265
|
+
description: "HTTP method of the endpoint.",
|
|
1266
|
+
type: "string",
|
|
1267
|
+
"enum": [
|
|
1268
|
+
"get",
|
|
1269
|
+
"post",
|
|
1270
|
+
"patch",
|
|
1271
|
+
"put",
|
|
1272
|
+
"delete"
|
|
1273
|
+
]
|
|
1274
|
+
},
|
|
1275
|
+
path: {
|
|
1276
|
+
title: "Path of the endpoint",
|
|
1277
|
+
description: "Path of the endpoint.",
|
|
1278
|
+
type: "string"
|
|
1279
|
+
},
|
|
1280
|
+
name: {
|
|
1281
|
+
title: "Representative name of the function",
|
|
1282
|
+
description: "Representative name of the function.\n\nThe `name` is a repsentative name identifying the function in the\n{@link IHttpLlmApplication}. The `name` value is just composed by joining the\n{@link IHttpMigrateRoute.accessor} by underscore `_` character.\n\nHere is the composition rule of the {@link IHttpMigrateRoute.accessor}:\n\n> The `accessor` is composed with the following rules. At first,\n> namespaces are composed by static directory names in the {@link path}.\n> Parametric symbols represented by `:param` or `{param}` cannot be\n> a part of the namespace.\n>\n> Instead, they would be a part of the function name. The function\n> name is composed with the {@link method HTTP method} and parametric\n> symbols like `getByParam` or `postByParam`. If there are multiple\n> path parameters, they would be concatenated by `And` like\n> `getByParam1AndParam2`.\n>\n> For refefence, if the {@link operation}'s {@link method} is `delete`,\n> the function name would be replaced to `erase` instead of `delete`.\n> It is the reason why the `delete` is a reserved keyword in many\n> programming languages.\n>\n> - Example 1\n> - path: `POST /shopping/sellers/sales`\n> - accessor: `shopping.sellers.sales.post`\n> - Example 2\n> - endpoint: `GET /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n> - accessor: `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n\n\n@maxLength 64",
|
|
1283
|
+
type: "string"
|
|
1284
|
+
},
|
|
1285
|
+
parameters: {
|
|
1286
|
+
description: "Type of the function parameters.\n\n`IChatGptSchema.IParameters` is a type defining a function's parameters\nas a keyworded object type.\n\nIt also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IParameters} type:\n\n> Type of the function parameters.\n> \n> `IChatGptSchema.IParameters` is a type defining a function's parameters\n> as a keyworded object type.\n> \n> It also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}",
|
|
1287
|
+
type: "object",
|
|
1288
|
+
properties: {
|
|
1289
|
+
$defs: {
|
|
1290
|
+
title: "Collection of the named types",
|
|
1291
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1292
|
+
},
|
|
1293
|
+
additionalProperties: {
|
|
1294
|
+
title: "Additional properties' info",
|
|
1295
|
+
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\nBy the way, it is not allowed in the parameters level.",
|
|
1296
|
+
type: "boolean",
|
|
1297
|
+
"enum": [
|
|
1298
|
+
false
|
|
1299
|
+
]
|
|
1300
|
+
},
|
|
1301
|
+
type: {
|
|
1302
|
+
title: "Discriminator value of the type",
|
|
1303
|
+
description: "Discriminator value of the type.",
|
|
1304
|
+
type: "string",
|
|
1305
|
+
"enum": [
|
|
1306
|
+
"object"
|
|
1307
|
+
]
|
|
1308
|
+
},
|
|
1309
|
+
required: {
|
|
1310
|
+
title: "List of key values of the required properties",
|
|
1311
|
+
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```",
|
|
1312
|
+
type: "array",
|
|
1313
|
+
items: {
|
|
1314
|
+
type: "string"
|
|
1315
|
+
}
|
|
1316
|
+
},
|
|
1317
|
+
properties: {
|
|
1318
|
+
title: "Properties of the object",
|
|
1319
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1320
|
+
},
|
|
1321
|
+
title: {
|
|
1322
|
+
title: "Title of the schema",
|
|
1323
|
+
description: "Title of the schema.",
|
|
1324
|
+
type: "string"
|
|
1325
|
+
},
|
|
1326
|
+
description: {
|
|
1327
|
+
title: "Detailed description of the schema",
|
|
1328
|
+
description: "Detailed description of the schema.",
|
|
1329
|
+
type: "string"
|
|
1330
|
+
},
|
|
1331
|
+
deprecated: {
|
|
1332
|
+
title: "Whether the type is deprecated or not",
|
|
1333
|
+
description: "Whether the type is deprecated or not.",
|
|
1334
|
+
type: "boolean"
|
|
1335
|
+
},
|
|
1336
|
+
example: {
|
|
1337
|
+
title: "Example value",
|
|
1338
|
+
description: "Example value."
|
|
1339
|
+
},
|
|
1340
|
+
examples: {
|
|
1341
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1342
|
+
type: "object",
|
|
1343
|
+
properties: {},
|
|
1344
|
+
required: [],
|
|
1345
|
+
additionalProperties: {}
|
|
1346
|
+
}
|
|
1347
|
+
},
|
|
1348
|
+
required: [
|
|
1349
|
+
"$defs",
|
|
1350
|
+
"additionalProperties",
|
|
1351
|
+
"type",
|
|
1352
|
+
"required",
|
|
1353
|
+
"properties"
|
|
1354
|
+
]
|
|
1355
|
+
},
|
|
1356
|
+
separated: {
|
|
1357
|
+
description: "Collection of separated parameters.\n\n------------------------------\n\nDescription of the current {@link IHttpLlmFunction.ISeparatedchatgpt} type:\n\n> Collection of separated parameters.",
|
|
1358
|
+
type: "object",
|
|
1359
|
+
properties: {
|
|
1360
|
+
llm: {
|
|
1361
|
+
description: "Type of the function parameters.\n\n`IChatGptSchema.IParameters` is a type defining a function's parameters\nas a keyworded object type.\n\nIt also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IParameters} type:\n\n> Type of the function parameters.\n> \n> `IChatGptSchema.IParameters` is a type defining a function's parameters\n> as a keyworded object type.\n> \n> It also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}",
|
|
1362
|
+
type: "object",
|
|
1363
|
+
properties: {
|
|
1364
|
+
$defs: {
|
|
1365
|
+
title: "Collection of the named types",
|
|
1366
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1367
|
+
},
|
|
1368
|
+
additionalProperties: {
|
|
1369
|
+
title: "Additional properties' info",
|
|
1370
|
+
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\nBy the way, it is not allowed in the parameters level.",
|
|
1371
|
+
type: "boolean",
|
|
1372
|
+
"enum": [
|
|
1373
|
+
false
|
|
1374
|
+
]
|
|
1375
|
+
},
|
|
1376
|
+
type: {
|
|
1377
|
+
title: "Discriminator value of the type",
|
|
1378
|
+
description: "Discriminator value of the type.",
|
|
1379
|
+
type: "string",
|
|
1380
|
+
"enum": [
|
|
1381
|
+
"object"
|
|
1382
|
+
]
|
|
1383
|
+
},
|
|
1384
|
+
required: {
|
|
1385
|
+
title: "List of key values of the required properties",
|
|
1386
|
+
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```",
|
|
1387
|
+
type: "array",
|
|
1388
|
+
items: {
|
|
1389
|
+
type: "string"
|
|
1390
|
+
}
|
|
1391
|
+
},
|
|
1392
|
+
properties: {
|
|
1393
|
+
title: "Properties of the object",
|
|
1394
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1395
|
+
},
|
|
1396
|
+
title: {
|
|
1397
|
+
title: "Title of the schema",
|
|
1398
|
+
description: "Title of the schema.",
|
|
1399
|
+
type: "string"
|
|
1400
|
+
},
|
|
1401
|
+
description: {
|
|
1402
|
+
title: "Detailed description of the schema",
|
|
1403
|
+
description: "Detailed description of the schema.",
|
|
1404
|
+
type: "string"
|
|
1405
|
+
},
|
|
1406
|
+
deprecated: {
|
|
1407
|
+
title: "Whether the type is deprecated or not",
|
|
1408
|
+
description: "Whether the type is deprecated or not.",
|
|
1409
|
+
type: "boolean"
|
|
1410
|
+
},
|
|
1411
|
+
example: {
|
|
1412
|
+
title: "Example value",
|
|
1413
|
+
description: "Example value."
|
|
1414
|
+
},
|
|
1415
|
+
examples: {
|
|
1416
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1417
|
+
type: "object",
|
|
1418
|
+
properties: {},
|
|
1419
|
+
required: [],
|
|
1420
|
+
additionalProperties: {}
|
|
1421
|
+
}
|
|
1422
|
+
},
|
|
1423
|
+
required: [
|
|
1424
|
+
"$defs",
|
|
1425
|
+
"additionalProperties",
|
|
1426
|
+
"type",
|
|
1427
|
+
"required",
|
|
1428
|
+
"properties"
|
|
1429
|
+
]
|
|
1430
|
+
},
|
|
1431
|
+
human: {
|
|
1432
|
+
title: "Parameters that would be composed by the human",
|
|
1433
|
+
description: "Parameters that would be composed by the human.",
|
|
1434
|
+
anyOf: [
|
|
1435
|
+
{
|
|
1436
|
+
type: "null"
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
type: "object",
|
|
1440
|
+
properties: {
|
|
1441
|
+
$defs: {
|
|
1442
|
+
title: "Collection of the named types",
|
|
1443
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1444
|
+
},
|
|
1445
|
+
additionalProperties: {
|
|
1446
|
+
title: "Additional properties' info",
|
|
1447
|
+
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\nBy the way, it is not allowed in the parameters level.",
|
|
1448
|
+
type: "boolean",
|
|
1449
|
+
"enum": [
|
|
1450
|
+
false
|
|
1451
|
+
]
|
|
1452
|
+
},
|
|
1453
|
+
type: {
|
|
1454
|
+
title: "Discriminator value of the type",
|
|
1455
|
+
description: "Discriminator value of the type.",
|
|
1456
|
+
type: "string",
|
|
1457
|
+
"enum": [
|
|
1458
|
+
"object"
|
|
1459
|
+
]
|
|
1460
|
+
},
|
|
1461
|
+
required: {
|
|
1462
|
+
title: "List of key values of the required properties",
|
|
1463
|
+
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```",
|
|
1464
|
+
type: "array",
|
|
1465
|
+
items: {
|
|
1466
|
+
type: "string"
|
|
1467
|
+
}
|
|
1468
|
+
},
|
|
1469
|
+
properties: {
|
|
1470
|
+
title: "Properties of the object",
|
|
1471
|
+
$ref: "#/$defs/RecordstringIChatGptSchema"
|
|
1472
|
+
},
|
|
1473
|
+
title: {
|
|
1474
|
+
title: "Title of the schema",
|
|
1475
|
+
description: "Title of the schema.",
|
|
1476
|
+
type: "string"
|
|
1477
|
+
},
|
|
1478
|
+
description: {
|
|
1479
|
+
title: "Detailed description of the schema",
|
|
1480
|
+
description: "Detailed description of the schema.",
|
|
1481
|
+
type: "string"
|
|
1482
|
+
},
|
|
1483
|
+
deprecated: {
|
|
1484
|
+
title: "Whether the type is deprecated or not",
|
|
1485
|
+
description: "Whether the type is deprecated or not.",
|
|
1486
|
+
type: "boolean"
|
|
1487
|
+
},
|
|
1488
|
+
example: {
|
|
1489
|
+
title: "Example value",
|
|
1490
|
+
description: "Example value."
|
|
1491
|
+
},
|
|
1492
|
+
examples: {
|
|
1493
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1494
|
+
type: "object",
|
|
1495
|
+
properties: {},
|
|
1496
|
+
required: [],
|
|
1497
|
+
additionalProperties: {}
|
|
1498
|
+
}
|
|
1499
|
+
},
|
|
1500
|
+
required: [
|
|
1501
|
+
"$defs",
|
|
1502
|
+
"additionalProperties",
|
|
1503
|
+
"type",
|
|
1504
|
+
"required",
|
|
1505
|
+
"properties"
|
|
1506
|
+
],
|
|
1507
|
+
description: "Type of the function parameters.\n\n`IChatGptSchema.IParameters` is a type defining a function's parameters\nas a keyworded object type.\n\nIt also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IParameters} type:\n\n> Type of the function parameters.\n> \n> `IChatGptSchema.IParameters` is a type defining a function's parameters\n> as a keyworded object type.\n> \n> It also can be utilized for the structured output metadata.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1508
|
+
}
|
|
1509
|
+
]
|
|
1510
|
+
}
|
|
1511
|
+
},
|
|
1512
|
+
required: [
|
|
1513
|
+
"llm",
|
|
1514
|
+
"human"
|
|
1515
|
+
]
|
|
1516
|
+
},
|
|
1517
|
+
output: {
|
|
1518
|
+
title: "Expected return type",
|
|
1519
|
+
description: "Expected return type.\n\nIf the target operation returns nothing (`void`), the `output`\nwould be `undefined`.",
|
|
1520
|
+
anyOf: [
|
|
1521
|
+
{
|
|
1522
|
+
type: "object",
|
|
1523
|
+
properties: {
|
|
1524
|
+
"enum": {
|
|
1525
|
+
title: "Enumeration values",
|
|
1526
|
+
description: "Enumeration values.",
|
|
1527
|
+
type: "array",
|
|
1528
|
+
items: {
|
|
1529
|
+
type: "string"
|
|
1530
|
+
}
|
|
1531
|
+
},
|
|
1532
|
+
type: {
|
|
1533
|
+
title: "Discriminator value of the type",
|
|
1534
|
+
description: "Discriminator value of the type.",
|
|
1535
|
+
type: "string",
|
|
1536
|
+
"enum": [
|
|
1537
|
+
"string"
|
|
1538
|
+
]
|
|
1539
|
+
},
|
|
1540
|
+
title: {
|
|
1541
|
+
title: "Title of the schema",
|
|
1542
|
+
description: "Title of the schema.",
|
|
1543
|
+
type: "string"
|
|
1544
|
+
},
|
|
1545
|
+
description: {
|
|
1546
|
+
title: "Detailed description of the schema",
|
|
1547
|
+
description: "Detailed description of the schema.",
|
|
1548
|
+
type: "string"
|
|
1549
|
+
},
|
|
1550
|
+
deprecated: {
|
|
1551
|
+
title: "Whether the type is deprecated or not",
|
|
1552
|
+
description: "Whether the type is deprecated or not.",
|
|
1553
|
+
type: "boolean"
|
|
1554
|
+
},
|
|
1555
|
+
example: {
|
|
1556
|
+
title: "Example value",
|
|
1557
|
+
description: "Example value."
|
|
1558
|
+
},
|
|
1559
|
+
examples: {
|
|
1560
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1561
|
+
type: "object",
|
|
1562
|
+
properties: {},
|
|
1563
|
+
required: [],
|
|
1564
|
+
additionalProperties: {}
|
|
1565
|
+
}
|
|
1566
|
+
},
|
|
1567
|
+
required: [
|
|
1568
|
+
"type"
|
|
1569
|
+
],
|
|
1570
|
+
description: "String type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IString} type:\n\n> String type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1571
|
+
},
|
|
1572
|
+
{
|
|
1573
|
+
type: "object",
|
|
1574
|
+
properties: {
|
|
1575
|
+
"enum": {
|
|
1576
|
+
title: "Enumeration values",
|
|
1577
|
+
description: "Enumeration values.",
|
|
1578
|
+
type: "array",
|
|
1579
|
+
items: {
|
|
1580
|
+
type: "number"
|
|
1581
|
+
}
|
|
1582
|
+
},
|
|
1583
|
+
type: {
|
|
1584
|
+
title: "Discriminator value of the type",
|
|
1585
|
+
description: "Discriminator value of the type.",
|
|
1586
|
+
type: "string",
|
|
1587
|
+
"enum": [
|
|
1588
|
+
"number"
|
|
1589
|
+
]
|
|
1590
|
+
},
|
|
1591
|
+
title: {
|
|
1592
|
+
title: "Title of the schema",
|
|
1593
|
+
description: "Title of the schema.",
|
|
1594
|
+
type: "string"
|
|
1595
|
+
},
|
|
1596
|
+
description: {
|
|
1597
|
+
title: "Detailed description of the schema",
|
|
1598
|
+
description: "Detailed description of the schema.",
|
|
1599
|
+
type: "string"
|
|
1600
|
+
},
|
|
1601
|
+
deprecated: {
|
|
1602
|
+
title: "Whether the type is deprecated or not",
|
|
1603
|
+
description: "Whether the type is deprecated or not.",
|
|
1604
|
+
type: "boolean"
|
|
1605
|
+
},
|
|
1606
|
+
example: {
|
|
1607
|
+
title: "Example value",
|
|
1608
|
+
description: "Example value."
|
|
1609
|
+
},
|
|
1610
|
+
examples: {
|
|
1611
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1612
|
+
type: "object",
|
|
1613
|
+
properties: {},
|
|
1614
|
+
required: [],
|
|
1615
|
+
additionalProperties: {}
|
|
1616
|
+
}
|
|
1617
|
+
},
|
|
1618
|
+
required: [
|
|
1619
|
+
"type"
|
|
1620
|
+
],
|
|
1621
|
+
description: "Number (double) type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INumber} type:\n\n> Number (double) type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
type: "object",
|
|
1625
|
+
properties: {
|
|
1626
|
+
"enum": {
|
|
1627
|
+
title: "Enumeration values",
|
|
1628
|
+
description: "Enumeration values.",
|
|
1629
|
+
type: "array",
|
|
1630
|
+
items: {
|
|
1631
|
+
type: "number"
|
|
1632
|
+
}
|
|
1633
|
+
},
|
|
1634
|
+
type: {
|
|
1635
|
+
title: "Discriminator value of the type",
|
|
1636
|
+
description: "Discriminator value of the type.",
|
|
1637
|
+
type: "string",
|
|
1638
|
+
"enum": [
|
|
1639
|
+
"integer"
|
|
1640
|
+
]
|
|
1641
|
+
},
|
|
1642
|
+
title: {
|
|
1643
|
+
title: "Title of the schema",
|
|
1644
|
+
description: "Title of the schema.",
|
|
1645
|
+
type: "string"
|
|
1646
|
+
},
|
|
1647
|
+
description: {
|
|
1648
|
+
title: "Detailed description of the schema",
|
|
1649
|
+
description: "Detailed description of the schema.",
|
|
1650
|
+
type: "string"
|
|
1651
|
+
},
|
|
1652
|
+
deprecated: {
|
|
1653
|
+
title: "Whether the type is deprecated or not",
|
|
1654
|
+
description: "Whether the type is deprecated or not.",
|
|
1655
|
+
type: "boolean"
|
|
1656
|
+
},
|
|
1657
|
+
example: {
|
|
1658
|
+
title: "Example value",
|
|
1659
|
+
description: "Example value."
|
|
1660
|
+
},
|
|
1661
|
+
examples: {
|
|
1662
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1663
|
+
type: "object",
|
|
1664
|
+
properties: {},
|
|
1665
|
+
required: [],
|
|
1666
|
+
additionalProperties: {}
|
|
1667
|
+
}
|
|
1668
|
+
},
|
|
1669
|
+
required: [
|
|
1670
|
+
"type"
|
|
1671
|
+
],
|
|
1672
|
+
description: "Integer type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IInteger} type:\n\n> Integer type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
type: "object",
|
|
1676
|
+
properties: {
|
|
1677
|
+
"enum": {
|
|
1678
|
+
title: "Enumeration values",
|
|
1679
|
+
description: "Enumeration values.",
|
|
1680
|
+
type: "array",
|
|
1681
|
+
items: {
|
|
1682
|
+
type: "boolean"
|
|
1683
|
+
}
|
|
1684
|
+
},
|
|
1685
|
+
type: {
|
|
1686
|
+
title: "Discriminator value of the type",
|
|
1687
|
+
description: "Discriminator value of the type.",
|
|
1688
|
+
type: "string",
|
|
1689
|
+
"enum": [
|
|
1690
|
+
"boolean"
|
|
1691
|
+
]
|
|
1692
|
+
},
|
|
1693
|
+
title: {
|
|
1694
|
+
title: "Title of the schema",
|
|
1695
|
+
description: "Title of the schema.",
|
|
1696
|
+
type: "string"
|
|
1697
|
+
},
|
|
1698
|
+
description: {
|
|
1699
|
+
title: "Detailed description of the schema",
|
|
1700
|
+
description: "Detailed description of the schema.",
|
|
1701
|
+
type: "string"
|
|
1702
|
+
},
|
|
1703
|
+
deprecated: {
|
|
1704
|
+
title: "Whether the type is deprecated or not",
|
|
1705
|
+
description: "Whether the type is deprecated or not.",
|
|
1706
|
+
type: "boolean"
|
|
1707
|
+
},
|
|
1708
|
+
example: {
|
|
1709
|
+
title: "Example value",
|
|
1710
|
+
description: "Example value."
|
|
1711
|
+
},
|
|
1712
|
+
examples: {
|
|
1713
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1714
|
+
type: "object",
|
|
1715
|
+
properties: {},
|
|
1716
|
+
required: [],
|
|
1717
|
+
additionalProperties: {}
|
|
1718
|
+
}
|
|
1719
|
+
},
|
|
1720
|
+
required: [
|
|
1721
|
+
"type"
|
|
1722
|
+
],
|
|
1723
|
+
description: "Boolean type info.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IBoolean} type:\n\n> Boolean type info.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
$ref: "#/$defs/IChatGptSchema.IArray"
|
|
1727
|
+
},
|
|
1728
|
+
{
|
|
1729
|
+
$ref: "#/$defs/IChatGptSchema.IObject"
|
|
1730
|
+
},
|
|
1731
|
+
{
|
|
1732
|
+
type: "object",
|
|
1733
|
+
properties: {
|
|
1734
|
+
$ref: {
|
|
1735
|
+
title: "Reference to the named schema",
|
|
1736
|
+
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 `#/$defs/` which means the type is stored in\nthe {@link IChatGptSchema.IParameters.$defs} object.\n\n- `#/$defs/SomeObject`\n- `#/$defs/AnotherObject`",
|
|
1737
|
+
type: "string"
|
|
1738
|
+
},
|
|
1739
|
+
title: {
|
|
1740
|
+
title: "Title of the schema",
|
|
1741
|
+
description: "Title of the schema.",
|
|
1742
|
+
type: "string"
|
|
1743
|
+
},
|
|
1744
|
+
description: {
|
|
1745
|
+
title: "Detailed description of the schema",
|
|
1746
|
+
description: "Detailed description of the schema.",
|
|
1747
|
+
type: "string"
|
|
1748
|
+
},
|
|
1749
|
+
deprecated: {
|
|
1750
|
+
title: "Whether the type is deprecated or not",
|
|
1751
|
+
description: "Whether the type is deprecated or not.",
|
|
1752
|
+
type: "boolean"
|
|
1753
|
+
},
|
|
1754
|
+
example: {
|
|
1755
|
+
title: "Example value",
|
|
1756
|
+
description: "Example value."
|
|
1757
|
+
},
|
|
1758
|
+
examples: {
|
|
1759
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1760
|
+
type: "object",
|
|
1761
|
+
properties: {},
|
|
1762
|
+
required: [],
|
|
1763
|
+
additionalProperties: {}
|
|
1764
|
+
}
|
|
1765
|
+
},
|
|
1766
|
+
required: [
|
|
1767
|
+
"$ref"
|
|
1768
|
+
],
|
|
1769
|
+
description: "Reference type directing named schema.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IReference} type:\n\n> Reference type directing named schema.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
$ref: "#/$defs/IChatGptSchema.IAnyOf"
|
|
1773
|
+
},
|
|
1774
|
+
{
|
|
1775
|
+
type: "object",
|
|
1776
|
+
properties: {
|
|
1777
|
+
title: {
|
|
1778
|
+
title: "Title of the schema",
|
|
1779
|
+
description: "Title of the schema.",
|
|
1780
|
+
type: "string"
|
|
1781
|
+
},
|
|
1782
|
+
description: {
|
|
1783
|
+
title: "Detailed description of the schema",
|
|
1784
|
+
description: "Detailed description of the schema.",
|
|
1785
|
+
type: "string"
|
|
1786
|
+
},
|
|
1787
|
+
deprecated: {
|
|
1788
|
+
title: "Whether the type is deprecated or not",
|
|
1789
|
+
description: "Whether the type is deprecated or not.",
|
|
1790
|
+
type: "boolean"
|
|
1791
|
+
},
|
|
1792
|
+
example: {
|
|
1793
|
+
title: "Example value",
|
|
1794
|
+
description: "Example value."
|
|
1795
|
+
},
|
|
1796
|
+
examples: {
|
|
1797
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1798
|
+
type: "object",
|
|
1799
|
+
properties: {},
|
|
1800
|
+
required: [],
|
|
1801
|
+
additionalProperties: {}
|
|
1802
|
+
}
|
|
1803
|
+
},
|
|
1804
|
+
required: [],
|
|
1805
|
+
description: "Unknown, the `any` type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.IUnknown} type:\n\n> Unknown, the `any` type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1806
|
+
},
|
|
1807
|
+
{
|
|
1808
|
+
type: "object",
|
|
1809
|
+
properties: {
|
|
1810
|
+
type: {
|
|
1811
|
+
title: "Discriminator value of the type",
|
|
1812
|
+
description: "Discriminator value of the type.",
|
|
1813
|
+
type: "string",
|
|
1814
|
+
"enum": [
|
|
1815
|
+
"null"
|
|
1816
|
+
]
|
|
1817
|
+
},
|
|
1818
|
+
title: {
|
|
1819
|
+
title: "Title of the schema",
|
|
1820
|
+
description: "Title of the schema.",
|
|
1821
|
+
type: "string"
|
|
1822
|
+
},
|
|
1823
|
+
description: {
|
|
1824
|
+
title: "Detailed description of the schema",
|
|
1825
|
+
description: "Detailed description of the schema.",
|
|
1826
|
+
type: "string"
|
|
1827
|
+
},
|
|
1828
|
+
deprecated: {
|
|
1829
|
+
title: "Whether the type is deprecated or not",
|
|
1830
|
+
description: "Whether the type is deprecated or not.",
|
|
1831
|
+
type: "boolean"
|
|
1832
|
+
},
|
|
1833
|
+
example: {
|
|
1834
|
+
title: "Example value",
|
|
1835
|
+
description: "Example value."
|
|
1836
|
+
},
|
|
1837
|
+
examples: {
|
|
1838
|
+
description: "Construct a type with a set of properties K of type T",
|
|
1839
|
+
type: "object",
|
|
1840
|
+
properties: {},
|
|
1841
|
+
required: [],
|
|
1842
|
+
additionalProperties: {}
|
|
1843
|
+
}
|
|
1844
|
+
},
|
|
1845
|
+
required: [
|
|
1846
|
+
"type"
|
|
1847
|
+
],
|
|
1848
|
+
description: "Null type.\n\n------------------------------\n\nDescription of the current {@link IChatGptSchema.INull} type:\n\n> Null type.\n\n------------------------------\n\nDescription of the parent {@link IChatGptSchema} type:\n\n> Type schema info of the ChatGPT.\n> \n> `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n> \n> `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI v3.1\n> speciifcation; {@link OpenApiV3_1.IJsonSchema}.\n> \n> However, the `IChatGptSchema` does not follow the entire specification of\n> the OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n> list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n> \n> - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n> - Resolve nullable property: {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n> - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n> - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnOf}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n> - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to {@link IChatGptSchema.IReference}\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema specification,\n> \n> - {@link IChatGptSchema.IAnyOf} instead of the {@link OpenApi.IJsonSchema.IOneOf}\n> - {@link IChatGptSchema.IParameters.$defs} instead of the {@link OpenApi.IJsonSchema.IComponents.schemas}\n> - {@link IChatGptSchema.IString.enum} instead of the {@link OpenApi.IJsonSchema.IConstant}\n> - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n> - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n> - When {@link IChatGptSchema.IConfig.strict} mode\n> - Every object properties must be required\n> - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n> \n> For reference, if you've composed the `IChatGptSchema` type with the\n> {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n> only the recursived named types would be archived into the\n> {@link IChatGptSchema.IParameters.$defs}, and the others would be ecaped from the\n> {@link IChatGptSchema.IReference} type.\n> \n> Also, ChatGPT has banned below constraint properties. Instead, I'll will\n> fill the {@link IChatGptSchema.__IAttribute.description} property with\n> the comment text like `\"@format uuid\"`.\n> \n> - {@link OpenApi.IJsonSchema.INumber.minimum}\n> - {@link OpenApi.IJsonSchema.INumber.maximum}\n> - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n> - {@link OpenApi.IJsonSchema.IString.minLength}\n> - {@link OpenApi.IJsonSchema.IString.maxLength}\n> - {@link OpenApi.IJsonSchema.IString.format}\n> - {@link OpenApi.IJsonSchema.IString.pattern}\n> - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n> - {@link OpenApi.IJsonSchema.IString.default}\n> - {@link OpenApi.IJsonSchema.IArray.minItems}\n> - {@link OpenApi.IJsonSchema.IArray.maxItems}\n> - {@link OpenApi.IJsonSchema.IArray.unique}"
|
|
1849
|
+
}
|
|
1850
|
+
]
|
|
1851
|
+
},
|
|
1852
|
+
description: {
|
|
1853
|
+
title: "Description of the function",
|
|
1854
|
+
description: "Description of the function.\n\n`IHttpLlmFunction.description` is composed by below rule:\n\n1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n2. The next paragraphs are filled with the\n {@link OpenApi.IOperation.description}. By the way, if the first\n paragraph of {@link OpenApi.IOperation.description} is same with the\n {@link OpenApi.IOperation.summary}, it would not be duplicated.\n3. Parameters' descriptions are added with `@param` tag.\n4. {@link OpenApi.IOperation.security Security requirements} are added\n with `@security` tag.\n5. Tag names are added with `@tag` tag.\n6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n\nFor reference, the `description` is very important property to teach\nthe purpose of the function to the LLM (Language Large Model), and\nLLM actually determines which function to call by the description.\n\nAlso, when the LLM conversates with the user, the `description` is\nused to explain the function to the user. Therefore, the `description`\nproperty has the highest priority, and you have to consider it.",
|
|
1855
|
+
type: "string"
|
|
1856
|
+
},
|
|
1857
|
+
deprecated: {
|
|
1858
|
+
title: "Whether the function is deprecated or not",
|
|
1859
|
+
description: "Whether the function is deprecated or not.\n\nIf the `deprecated` is `true`, the function is not recommended to use.\n\nLLM (Large Language Model) may not use the deprecated function.",
|
|
1860
|
+
type: "boolean"
|
|
1861
|
+
},
|
|
1862
|
+
tags: {
|
|
1863
|
+
title: "Category tags for the function",
|
|
1864
|
+
description: "Category tags for the function.\n\nSame with {@link OpenApi.IOperation.tags} indicating the category of the function.",
|
|
1865
|
+
type: "array",
|
|
1866
|
+
items: {
|
|
1867
|
+
type: "string"
|
|
1868
|
+
}
|
|
1869
|
+
}
|
|
1870
|
+
},
|
|
1871
|
+
required: [
|
|
1872
|
+
"method",
|
|
1873
|
+
"path",
|
|
1874
|
+
"name",
|
|
1875
|
+
"parameters"
|
|
1876
|
+
]
|
|
1877
|
+
}
|
|
1878
|
+
},
|
|
1879
|
+
description: "Get list of API functions.\n\nIf user seems like to request some function calling except this one,\ncall this `getApiFunctions()` to get the list of candidate API functions\nprovided from this application.\n\nAlso, user just wants to list up every remote API functions that can be\ncalled from the backend server, utilize this function too."
|
|
1880
|
+
}
|
|
1881
|
+
]
|
|
1882
|
+
}.functions[0];
|
|
1883
|
+
//# sourceMappingURL=ChatGptInitializeFunctionAgent.js.map
|