UNPKG

@arizeai/phoenix-client

Version:

A client for the Phoenix API

71 lines 3.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeToolResultPart = exports.asToolResultPart = exports.asToolCallPart = exports.makeTextPart = exports.asTextPart = exports.phoenixContentPartSchema = exports.toolResultPartSchema = exports.toolCallPartSchema = exports.textPartSchema = void 0; const schemaMatches_1 = require("../../../utils/schemaMatches"); const zod_1 = __importDefault(require("zod")); exports.textPartSchema = (0, schemaMatches_1.schemaMatches)()(zod_1.default.object({ type: zod_1.default.literal("text"), text: zod_1.default.string(), })); exports.toolCallPartSchema = (0, schemaMatches_1.schemaMatches)()(zod_1.default.object({ type: zod_1.default.literal("tool_call"), tool_call_id: zod_1.default.string(), tool_call: zod_1.default.object({ type: zod_1.default.literal("function"), name: zod_1.default.string(), arguments: zod_1.default.string(), }), })); exports.toolResultPartSchema = (0, schemaMatches_1.schemaMatches)()(zod_1.default.object({ type: zod_1.default.literal("tool_result"), tool_call_id: zod_1.default.string(), tool_result: zod_1.default.union([ zod_1.default.string(), zod_1.default.number(), zod_1.default.boolean(), zod_1.default.null(), zod_1.default.record(zod_1.default.unknown()), zod_1.default.array(zod_1.default.unknown()), ]), })); exports.phoenixContentPartSchema = (0, schemaMatches_1.schemaMatches)()(zod_1.default.discriminatedUnion("type", [ exports.textPartSchema, exports.toolCallPartSchema, exports.toolResultPartSchema, ])); /* * * Creation helpers * */ const asTextPart = (maybePart) => { const parsed = exports.textPartSchema.safeParse(maybePart); return parsed.success ? parsed.data : null; }; exports.asTextPart = asTextPart; const makeTextPart = (text) => { const optimisticTextPart = { text: { text } }; const parsed = exports.textPartSchema.safeParse(optimisticTextPart); return parsed.success ? parsed.data : null; }; exports.makeTextPart = makeTextPart; const asToolCallPart = (maybePart) => { const parsed = exports.toolCallPartSchema.safeParse(maybePart); return parsed.success ? parsed.data : null; }; exports.asToolCallPart = asToolCallPart; const asToolResultPart = (maybePart) => { const parsed = exports.toolResultPartSchema.safeParse(maybePart); return parsed.success ? parsed.data : null; }; exports.asToolResultPart = asToolResultPart; const makeToolResultPart = (toolCallId, result) => { const optimisticToolResultPart = { toolResult: { toolCallId, result } }; const parsed = exports.toolResultPartSchema.safeParse(optimisticToolResultPart); return parsed.success ? parsed.data : null; }; exports.makeToolResultPart = makeToolResultPart; //# sourceMappingURL=messagePartSchemas.js.map