Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | /**
* JSON Schema type for describing values. Supports primitives, arrays, and objects
* with recursive definitions.
*/
export type JsonSchema =
| PrimitiveJsonSchema
| ArrayJsonSchema
| ObjectJsonSchema;
/**
* Primitive JSON Schema types (string, number, boolean).
*/
type PrimitiveJsonSchema = {
type: 'string' | 'number' | 'boolean';
description?: string;
};
/**
* Array JSON Schema with recursive item type.
*/
type ArrayJsonSchema = {
type: 'array';
description?: string;
items: JsonSchema;
};
/**
* Object JSON Schema with recursive property definitions.
*/
type ObjectJsonSchema = {
type: 'object';
description?: string;
properties: {
[key: string]: JsonSchema;
};
required?: string[];
additionalProperties?: boolean;
};
/**
* Schema describing a method, including its purpose, arguments, and return value.
*/
export type MethodSchema = {
/**
* Description of the method's purpose and behavior.
*/
description: string;
/**
* Arguments of the method, keyed by argument name.
* Each argument includes its type and description.
*/
args: Record<string, JsonSchema>;
/**
* Return value schema, including type and description.
*/
returns?: JsonSchema;
};
|