Docs
Cloudflare
CodeRabbit
Railway
Clerk
SerpAPI
Netlify
WorkOS
AG Grid
OpenRouter
Prisma
Sentry
Electric
Unkey
Cloudflare
CodeRabbit
Railway
Clerk
SerpAPI
Netlify
WorkOS
AG Grid
OpenRouter
Prisma
Sentry
Electric
Unkey
Class References
Function References
Interface References
Type Alias References
Variable References

JSONSchema

Interface: JSONSchema

Defined in: packages/ai/src/types.ts:69

JSON Schema type for defining tool input/output schemas as raw JSON Schema objects. This allows tools to be defined without schema libraries when you have JSON Schema definitions available.

Indexable

ts
[key: string]: any
[key: string]: any

Properties

$defs?

ts
optional $defs: Record<string, JSONSchema>;
optional $defs: Record<string, JSONSchema>;

Defined in: packages/ai/src/types.ts:79


$ref?

ts
optional $ref: string;
optional $ref: string;

Defined in: packages/ai/src/types.ts:78


additionalItems?

ts
optional additionalItems: boolean | JSONSchema;
optional additionalItems: boolean | JSONSchema;

Defined in: packages/ai/src/types.ts:100


additionalProperties?

ts
optional additionalProperties: boolean | JSONSchema;
optional additionalProperties: boolean | JSONSchema;

Defined in: packages/ai/src/types.ts:99


allOf?

ts
optional allOf: JSONSchema[];
optional allOf: JSONSchema[];

Defined in: packages/ai/src/types.ts:81


anyOf?

ts
optional anyOf: JSONSchema[];
optional anyOf: JSONSchema[];

Defined in: packages/ai/src/types.ts:82


const?

ts
optional const: unknown;
optional const: unknown;

Defined in: packages/ai/src/types.ts:75


default?

ts
optional default: unknown;
optional default: unknown;

Defined in: packages/ai/src/types.ts:77


definitions?

ts
optional definitions: Record<string, JSONSchema>;
optional definitions: Record<string, JSONSchema>;

Defined in: packages/ai/src/types.ts:80


description?

ts
optional description: string;
optional description: string;

Defined in: packages/ai/src/types.ts:76


else?

ts
optional else: JSONSchema;
optional else: JSONSchema;

Defined in: packages/ai/src/types.ts:87


enum?

ts
optional enum: unknown[];
optional enum: unknown[];

Defined in: packages/ai/src/types.ts:74


examples?

ts
optional examples: unknown[];
optional examples: unknown[];

Defined in: packages/ai/src/types.ts:106


exclusiveMaximum?

ts
optional exclusiveMaximum: number;
optional exclusiveMaximum: number;

Defined in: packages/ai/src/types.ts:91


exclusiveMinimum?

ts
optional exclusiveMinimum: number;
optional exclusiveMinimum: number;

Defined in: packages/ai/src/types.ts:90


format?

ts
optional format: string;
optional format: string;

Defined in: packages/ai/src/types.ts:95


if?

ts
optional if: JSONSchema;
optional if: JSONSchema;

Defined in: packages/ai/src/types.ts:85


items?

ts
optional items: JSONSchema | JSONSchema[];
optional items: JSONSchema | JSONSchema[];

Defined in: packages/ai/src/types.ts:72


maximum?

ts
optional maximum: number;
optional maximum: number;

Defined in: packages/ai/src/types.ts:89


maxItems?

ts
optional maxItems: number;
optional maxItems: number;

Defined in: packages/ai/src/types.ts:97


maxLength?

ts
optional maxLength: number;
optional maxLength: number;

Defined in: packages/ai/src/types.ts:93


maxProperties?

ts
optional maxProperties: number;
optional maxProperties: number;

Defined in: packages/ai/src/types.ts:104


minimum?

ts
optional minimum: number;
optional minimum: number;

Defined in: packages/ai/src/types.ts:88


minItems?

ts
optional minItems: number;
optional minItems: number;

Defined in: packages/ai/src/types.ts:96


minLength?

ts
optional minLength: number;
optional minLength: number;

Defined in: packages/ai/src/types.ts:92


minProperties?

ts
optional minProperties: number;
optional minProperties: number;

Defined in: packages/ai/src/types.ts:103


not?

ts
optional not: JSONSchema;
optional not: JSONSchema;

Defined in: packages/ai/src/types.ts:84


oneOf?

ts
optional oneOf: JSONSchema[];
optional oneOf: JSONSchema[];

Defined in: packages/ai/src/types.ts:83


pattern?

ts
optional pattern: string;
optional pattern: string;

Defined in: packages/ai/src/types.ts:94


patternProperties?

ts
optional patternProperties: Record<string, JSONSchema>;
optional patternProperties: Record<string, JSONSchema>;

Defined in: packages/ai/src/types.ts:101


properties?

ts
optional properties: Record<string, JSONSchema>;
optional properties: Record<string, JSONSchema>;

Defined in: packages/ai/src/types.ts:71


propertyNames?

ts
optional propertyNames: JSONSchema;
optional propertyNames: JSONSchema;

Defined in: packages/ai/src/types.ts:102


required?

ts
optional required: string[];
optional required: string[];

Defined in: packages/ai/src/types.ts:73


then?

ts
optional then: JSONSchema;
optional then: JSONSchema;

Defined in: packages/ai/src/types.ts:86


title?

ts
optional title: string;
optional title: string;

Defined in: packages/ai/src/types.ts:105


type?

ts
optional type: string | string[];
optional type: string | string[];

Defined in: packages/ai/src/types.ts:70


uniqueItems?

ts
optional uniqueItems: boolean;
optional uniqueItems: boolean;

Defined in: packages/ai/src/types.ts:98