AI Docs
API
Class References
Function References
- text
- textOptions
- combineStrategies
- convertMessagesToModelMessages
- convertZodToJsonSchema
- createReplayStream
- embedding
- generateMessageId
- maxIterations
- messages
- modelMessageToUIMessage
- modelMessagesToUIMessages
- normalizeToUIMessage
- parsePartialJSON
- summarize
- toServerSentEventsStream
- toServerSentEventsResponse
- toolDefinition
- uiMessageToModelMessages
- realtimeToken
- untilFinishReason
Interface References
- AIAdapter
- AIAdapterConfig
- AgentLoopState
- AudioPart
- AudioVisualization
- BaseStreamChunk
- TextCompletionChunk
- TextOptions
- ChunkRecording
- ChunkStrategy
- ClientTool
- ContentPartSource
- ContentStreamChunk
- DefaultMessageMetadataByModality
- DocumentPart
- DoneStreamChunk
- EmbeddingOptions
- EmbeddingResult
- ErrorStreamChunk
- ImagePart
- InternalToolCallState
- JSONParser
- ModelMessage
- ProcessorResult
- ProcessorState
- RealtimeAdapter
- RealtimeClientOptions
- RealtimeConnection
- RealtimeMessage
- RealtimeSessionConfig
- RealtimeToken
- RealtimeTokenAdapter
- RealtimeTokenOptions
- ResponseFormat
- ServerTool
- StreamProcessorEvents
- StreamProcessorHandlers
- StreamProcessorOptions
- SummarizationOptions
- SummarizationResult
- TextPart
- ThinkingPart
- ThinkingStreamChunk
- Tool
- ToolCall
- ToolCallPart
- ToolCallStreamChunk
- ToolConfig
- ToolDefinition
- ToolDefinitionConfig
- ToolDefinitionInstance
- ToolInputAvailableStreamChunk
- ToolResultPart
- ToolResultStreamChunk
- UIMessage
- VideoPart
Type Alias References
- AgentLoopStrategy
- AnyClientTool
- TextStreamOptionsForModel
- TextStreamOptionsUnion
- ConstrainedContent
- ConstrainedModelMessage
- ContentPart
- ContentPartForModalities
- ExtractModalitiesForModel
- ExtractModelsFromAdapter
- InferToolInput
- InferToolName
- InferToolOutput
- MessagePart
- RealtimeEvent
- RealtimeMessagePart
- RealtimeMode
- RealtimeStatus
- ModalitiesArrayToUnion
- Modality
- StreamChunk
- ToolCallState
- ToolResultState
Variable References
AI/LLM: This documentation page is available in plain markdown format at/ai/latest/docs/reference/functions/convertSchemaToJsonSchema.md
convertSchemaToJsonSchema
ts
function convertSchemaToJsonSchema(schema, options?): JSONSchema | undefined;Defined in: packages/ai/src/activities/chat/tools/schema-converter.ts:349
Converts a Standard JSON Schema compliant schema or plain JSONSchema to JSON Schema format compatible with LLM providers.
Supports any schema library that implements the Standard JSON Schema spec (v1):
- Zod v4+ (natively supports StandardJSONSchemaV1)
- ArkType (natively supports StandardJSONSchemaV1)
- Valibot (via toStandardJsonSchema() from @valibot/to-json-schema)
If the input is already a plain JSONSchema object, it is returned as-is.
Parameters#
schema#
SchemaInput | undefined
Standard JSON Schema compliant schema or plain JSONSchema object to convert
options?#
ConvertSchemaOptions = {}
Conversion options
Returns#
JSONSchema | undefined
JSON Schema object that can be sent to LLM providers
Example#
ts
// Using Zod v4+ (natively supports Standard JSON Schema)
import * as z from 'zod';
const zodSchema = z.object({
location: z.string().describe('City name'),
unit: z.enum(['celsius', 'fahrenheit']).optional()
});
const jsonSchema = convertSchemaToJsonSchema(zodSchema);
@example
// Using ArkType (natively supports Standard JSON Schema)
import { type } from 'arktype';
const arkSchema = type({
location: 'string',
unit: "'celsius' | 'fahrenheit'"
});
const jsonSchema = convertSchemaToJsonSchema(arkSchema);
@example
// Using Valibot (via toStandardJsonSchema)
import * as v from 'valibot';
import { toStandardJsonSchema } from '@valibot/to-json-schema';
const valibotSchema = toStandardJsonSchema(v.object({
location: v.string(),
unit: v.optional(v.picklist(['celsius', 'fahrenheit']))
}));
const jsonSchema = convertSchemaToJsonSchema(valibotSchema);
@example
// Using JSONSchema directly (passes through unchanged)
const rawSchema = {
type: 'object',
properties: { location: { type: 'string' } },
required: ['location']
};
const result = convertSchemaToJsonSchema(rawSchema);