Type of the function parameters.

ILlmSchemaV3.IParameters is a type defining a function's parameters as a keyworded object type.

It also can be utilized for the structured output metadata.

interface IParameters {
    additionalProperties: false;
    deprecated?: boolean;
    description?: string;
    example?: any;
    examples?: Record<string, any>;
    nullable?: boolean;
    properties: Record<string, ILlmSchemaV3>;
    required: string[];
    title?: string;
    type: "object";
}

Hierarchy

Properties

additionalProperties: false

Additional properties' info.

The additionalProperties means the type schema info of the additional properties that are not listed in the properties.

By the way, it is not allowed in the parameters level.

deprecated?: boolean

Whether the type is deprecated or not.

description?: string

Detailed description of the schema.

example?: any

Example value.

examples?: Record<string, any>

List of example values as key-value pairs.

nullable?: boolean

Whether to allow null value or not.

properties: Record<string, ILlmSchemaV3>

Properties of the object.

The properties means a list of key-value pairs of the object's regular properties. The key is the name of the regular property, and the value is the type schema info.

If you need additional properties that is represented by dynamic key, you can use the additionalProperties instead.

required: string[]

List of key values of the required properties.

The required means a list of the key values of the required properties. If some property key is not listed in the required list, it means that property is optional. Otherwise some property key exists in the required list, it means that the property must be filled.

Below is an example of the properties and required.

interface SomeObject {
id: string;
email: string;
name?: string;
}

As you can see, id and email properties are required, so that they are listed in the required list.

{
"type": "object",
"properties": {
"id": { "type": "string" },
"email": { "type": "string" },
"name": { "type": "string" }
},
"required": ["id", "email"]
}
title?: string

Title of the schema.

type: "object"

Discriminator value of the type.