@utcp/sdk
Version:
Universal Tool Calling Protocol (UTCP) client library for TypeScript
33 lines • 1.26 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ToolSchema = exports.ToolInputOutputSchema = void 0;
const zod_1 = require("zod");
const provider_1 = require("./provider");
/**
* Schema for defining tool input and output schemas
*/
exports.ToolInputOutputSchema = zod_1.z.object({
type: zod_1.z.string().default('object'),
properties: zod_1.z.record(zod_1.z.any()).default({}),
required: zod_1.z.array(zod_1.z.string()).optional(),
description: zod_1.z.string().optional(),
title: zod_1.z.string().optional(),
items: zod_1.z.record(zod_1.z.any()).optional(),
enum: zod_1.z.array(zod_1.z.any()).optional(),
minimum: zod_1.z.number().optional(),
maximum: zod_1.z.number().optional(),
format: zod_1.z.string().optional(),
});
/**
* Schema for a UTCP Tool
*/
exports.ToolSchema = zod_1.z.object({
name: zod_1.z.string(),
description: zod_1.z.string().default(''),
inputs: exports.ToolInputOutputSchema.default({}),
outputs: exports.ToolInputOutputSchema.default({}),
tags: zod_1.z.array(zod_1.z.string()).default([]),
average_response_size: zod_1.z.number().optional(),
tool_provider: provider_1.ProviderUnionSchema,
});
//# sourceMappingURL=tool.js.map