Skip to content

tools / Exports

tools

Table of contents

Classes

Interfaces

Type Aliases

Functions

Type Aliases

FunctionResult

Ƭ FunctionResult<TResult>: Object

Function result type

Type parameters

NameType
TResultunknown

Type declaration

NameType
resultTResult

Defined in

packages/tools/src/function.ts:16


FunctionHandler

Ƭ FunctionHandler: (args: Record<string, any>, context?: any) => Promise<any>

Function call handler type

Type declaration

▸ (args, context?): Promise<any>

Parameters
NameType
argsRecord<string, any>
context?any
Returns

Promise<any>

Defined in

packages/tools/src/function.ts:378

Functions

createZodFunctionToolProvider

createZodFunctionToolProvider(options): ToolProvider

Zod 스키마 기반 함수 도구 제공자를 생성합니다.

Parameters

NameTypeDescription
optionsZodFunctionToolProviderOptions함수 도구 제공자 옵션

Returns

ToolProvider

도구 제공자 인스턴스 (ToolProvider 인터페이스 구현)

Example

typescript
const calculatorTool = {
  name: 'add',
  description: '두 숫자를 더합니다',
  parameters: z.object({
    a: z.number().describe('첫 번째 숫자'),
    b: z.number().describe('두 번째 숫자')
  }),
  handler: async ({ a, b }) => ({ result: a + b })
};

const provider = createZodFunctionToolProvider({
  tools: { add: calculatorTool }
});

const robota = new Robota({
  aiClient: openaiProvider,
  provider: provider,
  systemPrompt: '당신은 도움이 되는 계산기입니다.'
});

Defined in

packages/tools/src/function-tool-provider.ts:50


createFunction

createFunction<TParams, TResult>(options): ToolFunction<TParams, TResult>

Create a function

Type parameters

NameTypeDescription
TParamsunknownfunction parameter type
TResultunknownfunction return result type

Parameters

NameTypeDescription
optionsFunctionOptions<TParams, TResult>Function options

Returns

ToolFunction<TParams, TResult>

Created function object

Function

createFunction

Description

Creates a function that AI can invoke. You can define function name, description, parameter schema, and execution logic.

Example

typescript
import { z } from 'zod';
import { createFunction } from '@robota-sdk/tools';

const getWeather = createFunction({
  name: 'getWeather',
  description: 'Get weather information for a specific location.',
  parameters: z.object({
    location: z.string().describe('Location to check weather (city name)'),
    unit: z.enum(['celsius', 'fahrenheit']).optional().describe('Temperature unit')
  }),
  execute: async (params) => {
    // Weather API call logic
    return { temperature: 25, condition: 'sunny' };
  }
});

Defined in

packages/tools/src/function.ts:240


functionFromCallback

functionFromCallback(name, fn, description?): ToolFunction<Record<string, any>, any>

Convert callback function to Function object

Parameters

NameTypeDescription
namestringFunction name
fn(...args: any[]) => anyCallback function to convert
description?stringFunction description

Returns

ToolFunction<Record<string, any>, any>

Created function object

Function

functionFromCallback

Description

Converts a regular JavaScript function to a Function object that AI can invoke.

Example

typescript
import { functionFromCallback } from '@robota-sdk/tools';

const calculateSum = functionFromCallback(
  'calculateSum',
  (a: number, b: number) => a + b,
  'Calculate the sum of two numbers.'
);

Defined in

packages/tools/src/function.ts:311


createFunctionSchema

createFunctionSchema(definition): ZodObject<Record<string, ZodTypeAny>, "strip", ZodTypeAny, {}, {}>

Utility function to convert function schema to Zod schema

Parameters

NameType
definitionFunctionDefinition

Returns

ZodObject<Record<string, ZodTypeAny>, "strip", ZodTypeAny, {}, {}>

Defined in

packages/tools/src/function.ts:345


createTool

createTool<TInput, TOutput>(options): Tool<TInput, TOutput>

Tool creation function

Type parameters

NameType
TInputany
TOutputany

Parameters

NameTypeDescription
optionsCreateToolOptions<TInput, TOutput>Tool creation options

Returns

Tool<TInput, TOutput>

Created tool

Example

ts
const weatherTool = createTool({
  name: 'getWeather',
  description: 'Get weather information for a specific location',
  parameters: [
    { name: 'location', type: 'string', description: 'Location (city name)', required: true }
  ],
  execute: async ({ location }) => {
    // Weather API call logic
    return { temperature: 25, humidity: 60, conditions: 'sunny' };
  }
});

Defined in

packages/tools/src/index.ts:132


createMcpToolProvider

createMcpToolProvider(mcpClient): ToolProvider

MCP(Model Context Protocol) based tool provider creation function

Parameters

NameTypeDescription
mcpClientMCPClientMCP client instance

Returns

ToolProvider

MCP-based tool provider object

Defined in

packages/tools/src/mcp-tool-provider.ts:22


createOpenAPIToolProvider

createOpenAPIToolProvider(openApiSpec, options?): ToolProvider

Create tool provider based on OpenAPI specification

Parameters

NameTypeDescription
openApiSpecanyOpenAPI specification object or URL
options?ObjectBase URL configuration
options.baseUrl?string-

Returns

ToolProvider

OpenAPI-based tool provider

Defined in

packages/tools/src/openapi-tool-provider.ts:11


zodToJsonSchema

zodToJsonSchema(schema): Object

Zod 객체 스키마를 JSON 스키마로 변환합니다.

Parameters

NameTypeDescription
schemaZodObject<ZodRawShape, UnknownKeysParam, ZodTypeAny, {}, {}>변환할 Zod 객체 스키마

Returns

Object

JSON 스키마 객체

NameType
typestring
propertiesRecord<string, unknown>
required?string[]

Example

typescript
const userSchema = z.object({
  name: z.string().describe('사용자 이름'),
  age: z.number().min(0).describe('사용자 나이'),
  email: z.string().email().optional().describe('이메일 주소')
});

const jsonSchema = zodToJsonSchema(userSchema);
// {
//   type: 'object',
//   properties: {
//     name: { type: 'string', description: '사용자 이름' },
//     age: { type: 'number', description: '사용자 나이' },
//     email: { type: 'string', description: '이메일 주소' }
//   },
//   required: ['name', 'age']
// }

Defined in

packages/tools/src/zod-schema.ts:38


zodFunctionToSchema

zodFunctionToSchema<T>(tool): Object

Zod 함수 도구를 Robota 호환 함수 스키마로 변환합니다.

Type parameters

NameType
Textends ZodObject<ZodRawShape, UnknownKeysParam, ZodTypeAny, {}, {}>

Parameters

NameTypeDescription
toolZodFunctionTool<T>Zod 기반 함수 도구 정의

Returns

Object

Robota 호환 함수 스키마

NameType
namestring
descriptionstring
parameters{ type: string ; properties: Record<string, unknown> ; required?: string[] }
parameters.typestring
parameters.propertiesRecord<string, unknown>
parameters.required?string[]

Defined in

packages/tools/src/zod-schema.ts:122

Released under the MIT License.