@arizeai/phoenix-client
Version:
A client for the Phoenix API
73 lines • 2.76 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.openAIMessagesSchema = exports.openAIMessageSchema = exports.openAIMessageRoleSchema = void 0;
const messagePartSchemas_1 = require("./messagePartSchemas");
const toolCallSchemas_1 = require("./toolCallSchemas");
const zod_1 = __importDefault(require("zod"));
/*
*
* OpenAI Message Schemas
*
*/
exports.openAIMessageRoleSchema = zod_1.default.enum([
"system",
"user",
"assistant",
"developer",
"tool",
// "function",
]);
exports.openAIMessageSchema = zod_1.default.discriminatedUnion("role", [
zod_1.default
.object({
role: zod_1.default.literal("assistant"),
content: zod_1.default.union([messagePartSchemas_1.openaiChatPartTextSchema.array(), zod_1.default.string()]),
name: zod_1.default.string().optional(),
tool_call_id: zod_1.default.string().optional(),
tool_calls: zod_1.default.array(toolCallSchemas_1.openAIToolCallSchema).optional(),
})
.passthrough(),
zod_1.default
.object({
role: zod_1.default.literal("tool"),
content: zod_1.default.union([messagePartSchemas_1.openaiChatPartTextSchema.array(), zod_1.default.string()]),
tool_call_id: zod_1.default.string(),
})
.passthrough(),
zod_1.default
.object({
role: zod_1.default.literal("function"),
content: zod_1.default.string().nullable(),
name: zod_1.default.string(),
})
.passthrough(),
zod_1.default
.object({
role: zod_1.default.literal("user"),
content: zod_1.default.union([
zod_1.default.array(zod_1.default.union([messagePartSchemas_1.openaiChatPartTextSchema, messagePartSchemas_1.openaiChatPartImageSchema])),
zod_1.default.string(),
]),
name: zod_1.default.string().optional(),
})
.passthrough(),
zod_1.default
.object({
role: zod_1.default.literal("system"),
content: zod_1.default.union([messagePartSchemas_1.openaiChatPartTextSchema.array(), zod_1.default.string()]),
name: zod_1.default.string().optional(),
})
.passthrough(),
zod_1.default
.object({
role: zod_1.default.literal("developer"),
content: zod_1.default.union([messagePartSchemas_1.openaiChatPartTextSchema.array(), zod_1.default.string()]),
name: zod_1.default.string().optional(),
})
.passthrough(),
]);
exports.openAIMessagesSchema = zod_1.default.array(exports.openAIMessageSchema);
//# sourceMappingURL=messageSchemas.js.map