Documentation
    Preparing search index...

    Object type schema.

    Represents a JSON Schema object type with named properties. Maps to TypeScript interface or object type. Supports required property declarations and dynamic additional properties.

    interface IObject {
        additionalProperties?: boolean | ILlmSchema;
        deprecated?: boolean;
        description?: string;
        example?: any;
        examples?: Record<string, any>;
        properties: Record<string, ILlmSchema>;
        readOnly?: boolean;
        required: string[];
        title?: string;
        type: "object";
        writeOnly?: boolean;
    }

    Hierarchy (View Summary)

    Index

    Properties

    additionalProperties?: boolean | ILlmSchema

    Schema for dynamic/additional properties.

    • false (default): No additional properties allowed
    • true: Any additional properties allowed
    • Schema: Additional properties must match this schema

    Note: ChatGPT and Gemini do not support additionalProperties. Use ILlmSchema.IConfig.strict mode for OpenAI compatibility.

    deprecated?: boolean

    Whether this type is deprecated.

    When true, indicates the type should no longer be used and may be removed in future versions. Set via the @deprecated JSDoc tag.

    description?: string

    Detailed description of the schema.

    Full documentation for the type, explaining its purpose, constraints, and usage. Extracted from JSDoc comment body. Supports markdown formatting in many JSON Schema consumers.

    example?: any

    Single example value for the schema.

    A representative value that conforms to the schema, useful for documentation and testing. Set via the @example JSDoc tag.

    examples?: Record<string, any>

    Named example values for the schema.

    Multiple examples as key-value pairs, where keys are example names and values are conforming data. Useful for showing different valid states or edge cases.

    properties: Record<string, ILlmSchema>

    Property name to schema mapping.

    Defines the type of each named property on the object. All properties are defined here regardless of whether they are required or optional.

    readOnly?: boolean

    Whether the property is read-only.

    When true, the property should not be modified by clients and is typically set by the server. Useful for generated IDs, timestamps, etc.

    required: string[]

    List of required property names.

    Properties in this array must be present in the object. In strict mode, all properties become required automatically.

    title?: string

    Short title for the schema.

    A brief, human-readable name for the type. Typically extracted from the first line of a JSDoc comment or the @title tag.

    type: "object"
    writeOnly?: boolean

    Whether the property is write-only.

    When true, the property is accepted on input but never returned in responses. Common for sensitive data like passwords.