@arizeai/phoenix-client
Version:
A client for the Phoenix API
61 lines • 2.67 kB
TypeScript
import z from "zod";
/**
* The schema for an OpenAI tool definition
* @see https://platform.openai.com/docs/guides/structured-outputs/supported-schemas
*
* Note: The nested passThrough's are used to allow for extra keys in JSON schema, however, they do not actually
* allow for extra keys when the zod schema is used for parsing. This is to allow more flexibility for users
* to define their own tools according
*/
export declare const openAIToolDefinitionSchema: z.ZodObject<{
type: z.ZodLiteral<"function">;
function: z.ZodObject<{
name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
parameters: z.ZodObject<{
type: z.ZodLiteral<"object">;
properties: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
type: z.ZodEnum<{
string: "string";
number: "number";
boolean: "boolean";
object: "object";
null: "null";
array: "array";
integer: "integer";
}>;
description: z.ZodOptional<z.ZodString>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$loose>, z.ZodObject<{
anyOf: z.ZodArray<z.ZodObject<{
type: z.ZodEnum<{
string: "string";
number: "number";
boolean: "boolean";
object: "object";
null: "null";
array: "array";
integer: "integer";
}>;
description: z.ZodOptional<z.ZodString>;
enum: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$loose>>;
}, z.core.$strip>]>>;
required: z.ZodOptional<z.ZodArray<z.ZodString>>;
additionalProperties: z.ZodOptional<z.ZodBoolean>;
strict: z.ZodOptional<z.ZodBoolean>;
}, z.core.$loose>;
}, z.core.$loose>;
}, z.core.$loose>;
/**
* The type of an OpenAI tool definition
* @see https://platform.openai.com/docs/guides/structured-outputs/supported-schemas
*/
export type OpenAIToolDefinition = z.infer<typeof openAIToolDefinitionSchema>;
/**
* Creates an OpenAI tool definition
* @param toolNumber the number of the tool in that instance for example instance.tools.length + 1 to be used to fill in the name
* @returns an OpenAI tool definition
*/
export declare function createOpenAIToolDefinition(toolNumber: number): OpenAIToolDefinition;
//# sourceMappingURL=toolSchemas.d.ts.map