Variable llmProviderToolDefinitionSchemaConst
llmProviderToolDefinitionSchema: ZodUnion<
[
ZodObject<
{
function: ZodObject<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ZodOptional<ZodBoolean>;
properties: ZodRecord<ZodString, ZodUnion<(...)>>;
required: ZodOptional<ZodArray<(...), (...)>>;
type: ZodLiteral<"object">;
} & { strict: ZodOptional<ZodBoolean> },
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
ZodTypeAny,
"passthrough",
>,
>;
},
"passthrough",
ZodTypeAny,
objectOutputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
>;
},
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
>;
},
ZodTypeAny,
"passthrough",
>,
>;
type: ZodLiteral<"function">;
},
"passthrough",
ZodTypeAny,
objectOutputType<
{
function: ZodObject<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
>;
},
"passthrough",
ZodTypeAny,
objectOutputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
"passthrough",
ZodTypeAny,
objectOutputType<(...) & (...), ZodTypeAny, "passthrough">,
objectInputType<(...) & (...), ZodTypeAny, "passthrough">,
>;
},
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
"passthrough",
ZodTypeAny,
objectOutputType<(...) & (...), ZodTypeAny, "passthrough">,
objectInputType<(...) & (...), ZodTypeAny, "passthrough">,
>;
},
ZodTypeAny,
"passthrough",
>,
>;
type: ZodLiteral<"function">;
},
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
function: ZodObject<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ZodOptional<(...)>;
properties: ZodRecord<(...), (...)>;
required: ZodOptional<(...)>;
type: ZodLiteral<(...)>;
} & { strict: ZodOptional<(...)> },
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
ZodTypeAny,
"passthrough",
>,
>;
},
"passthrough",
ZodTypeAny,
objectOutputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
"passthrough",
ZodTypeAny,
objectOutputType<(...) & (...), ZodTypeAny, "passthrough">,
objectInputType<(...) & (...), ZodTypeAny, "passthrough">,
>;
},
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodObject<
{
additionalProperties: ...;
properties: ...;
required: ...;
type: ...;
} & { strict: ... },
"passthrough",
ZodTypeAny,
objectOutputType<(...) & (...), ZodTypeAny, "passthrough">,
objectInputType<(...) & (...), ZodTypeAny, "passthrough">,
>;
},
ZodTypeAny,
"passthrough",
>,
>;
type: ZodLiteral<"function">;
},
ZodTypeAny,
"passthrough",
>,
>,
ZodObject<
{
description: ZodString;
input_schema: ZodObject<
{
additionalProperties: ZodOptional<ZodBoolean>;
properties: ZodRecord<
ZodString,
ZodUnion<
[
ZodObject<
{ description: ...; enum: ...; type: ... },
"passthrough",
ZodTypeAny,
objectOutputType<(...), (...), (...)>,
objectInputType<(...), (...), (...)>,
>,
ZodObject<
{ anyOf: ... },
"strip",
ZodTypeAny,
{ anyOf: ... },
{ anyOf: ... },
>,
],
>,
>;
required: ZodOptional<ZodArray<ZodString, "many">>;
type: ZodLiteral<"object">;
},
"passthrough",
ZodTypeAny,
objectOutputType<
{
additionalProperties: ZodOptional<ZodBoolean>;
properties: ZodRecord<
ZodString,
ZodUnion<
[
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
],
>,
>;
required: ZodOptional<ZodArray<ZodString, "many">>;
type: ZodLiteral<"object">;
},
ZodTypeAny,
"passthrough",
>,
objectInputType<
{
additionalProperties: ZodOptional<ZodBoolean>;
properties: ZodRecord<
ZodString,
ZodUnion<
[
ZodObject<(...), (...), (...), (...), (...)>,
ZodObject<(...), (...), (...), (...), (...)>,
],
>,
>;
required: ZodOptional<ZodArray<ZodString, "many">>;
type: ZodLiteral<"object">;
},
ZodTypeAny,
"passthrough",
>,
>;
name: ZodString;
},
"strip",
ZodTypeAny,
{
description: string;
input_schema: {
additionalProperties?: boolean;
properties: Record<
string,
| objectOutputType<
{
description: ZodOptional<(...)>;
enum: ZodOptional<(...)>;
type: ZodEnum<(...)>;
},
ZodTypeAny,
"passthrough",
>
| { anyOf: objectOutputType<(...), (...), (...)>[] },
>;
required?: string[];
type: "object";
} & { [k: string]: unknown };
name: string;
},
{
description: string;
input_schema: {
additionalProperties?: boolean;
properties: Record<
string,
| objectInputType<
{
description: ZodOptional<(...)>;
enum: ZodOptional<(...)>;
type: ZodEnum<(...)>;
},
ZodTypeAny,
"passthrough",
>
| { anyOf: objectInputType<(...), (...), (...)>[] },
>;
required?: string[];
type: "object";
} & { [k: string]: unknown };
name: string;
},
>,
ZodObject<
{
function: ZodObject<
{
description: ZodOptional<ZodString>;
name: ZodString;
parameters: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
strict: ZodOptional<ZodBoolean>;
},
"strip",
ZodTypeAny,
{
description?: string;
name: string;
parameters?: Record<string, unknown>;
strict?: boolean;
},
{
description?: string;
name: string;
parameters?: Record<string, unknown>;
strict?: boolean;
},
>;
type: ZodLiteral<"function">;
},
"strip",
ZodTypeAny,
{
function: {
description?: string;
name: string;
parameters?: Record<string, unknown>;
strict?: boolean;
};
type: "function";
},
{
function: {
description?: string;
name: string;
parameters?: Record<string, unknown>;
strict?: boolean;
};
type: "function";
},
>,
],
> = ...
Union of all tool call formats
This is useful for functions that need to accept any tool definition format