Skip to content

tools / Exports / OpenApiTool

Class: OpenApiTool<TParams, TResult>

OpenAPI schema-based tool class

OpenApiTool

Description

Tool that uses OpenAPI specification schema format for parameter definition.

Example

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

const apiTool = new OpenApiTool({
  name: 'userInfo',
  description: 'Get user information by ID',
  category: 'api',
  parameters: {
    type: 'object',
    properties: {
      userId: {
        type: 'string',
        description: 'Unique user identifier'
      },
      includeProfile: {
        type: 'boolean',
        description: 'Whether to include detailed profile information',
        default: false
      }
    },
    required: ['userId']
  },
  execute: async (params) => {
    // API call logic
    const userInfo = { id: params.userId, name: 'John Doe' };
    return {
      status: 'success',
      data: userInfo
    };
  }
});

Type parameters

NameTypeDescription
TParamsanyTool parameter type
TResultanyTool result type

Hierarchy

  • BaseTool<TParams, TResult>

    OpenApiTool

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new OpenApiTool<TParams, TResult>(options): OpenApiTool<TParams, TResult>

Constructor

Type parameters

NameType
TParamsany
TResultany

Parameters

NameTypeDescription
optionsOpenApiToolOptions<TParams, TResult>OpenAPI tool options

Returns

OpenApiTool<TParams, TResult>

Overrides

BaseTool.constructor

Defined in

packages/tools/src/tool/openapi-tool.ts:69

Properties

name

Readonly name: string

Tool name

Inherited from

BaseTool.name

Defined in

packages/tools/src/tool/base-tool.ts:29


description

Readonly description: string

Tool description

Inherited from

BaseTool.description

Defined in

packages/tools/src/tool/base-tool.ts:34


category

Optional Readonly category: string

Tool category

Inherited from

BaseTool.category

Defined in

packages/tools/src/tool/base-tool.ts:39


version

Optional Readonly version: string

Tool version

Inherited from

BaseTool.version

Defined in

packages/tools/src/tool/base-tool.ts:44

Accessors

schema

get schema(): Object

Tool schema (returns OpenAPI schema)

Returns

Object

OpenAPI schema

NameType
type"object"
propertiesRecord<string, { type: string ; description?: string ; enum?: any[] ; default?: any }>
required?string[]

Overrides

BaseTool.schema

Defined in

packages/tools/src/tool/openapi-tool.ts:79

Methods

execute

execute(params): Promise<ToolResult<TResult>>

Execute tool

Parameters

NameTypeDescription
paramsTParamsTool parameters

Returns

Promise<ToolResult<TResult>>

Tool execution result

Inherited from

BaseTool.execute

Defined in

packages/tools/src/tool/base-tool.ts:108


toFunctionSchema

toFunctionSchema(): FunctionSchema

Convert to function schema

Returns

FunctionSchema

Function schema

Inherited from

BaseTool.toFunctionSchema

Defined in

packages/tools/src/tool/base-tool.ts:145


toFunctionDefinition

toFunctionDefinition(): FunctionDefinition

Convert to function definition

Returns

FunctionDefinition

Function definition

Inherited from

BaseTool.toFunctionDefinition

Defined in

packages/tools/src/tool/base-tool.ts:158


toString

toString(): string

Generate string representation

Returns

string

String representation of the tool

Inherited from

BaseTool.toString

Defined in

packages/tools/src/tool/base-tool.ts:171


create

create<TParams, TResult>(options): OpenApiTool<TParams, TResult>

OpenAPI tool creation helper method

Type parameters

NameType
TParamsany
TResultany

Parameters

NameTypeDescription
optionsOpenApiToolOptions<TParams, TResult>OpenAPI tool options

Returns

OpenApiTool<TParams, TResult>

OpenApiTool instance

Defined in

packages/tools/src/tool/openapi-tool.ts:145

Released under the MIT License.