ObjectStackObjectStack

Tool

Tool protocol schemas

Tool Category

Classifies the tool by its operational domain.

Source: packages/spec/src/ai/tool.zod.ts

TypeScript Usage

import { Tool, ToolCategory } from '@objectstack/spec/ai';
import type { Tool, ToolCategory } from '@objectstack/spec/ai';

// Validate data
const result = Tool.parse(data);

Tool

Properties

PropertyTypeRequiredDescription
namestringTool unique identifier (snake_case)
labelstringTool display name
descriptionstringTool description for LLM function calling
categoryEnum<'data' | 'action' | 'flow' | 'integration' | 'vector_search' | 'analytics' | 'utility'>optionalTool category for grouping and filtering
parametersRecord<string, any>JSON Schema for tool parameters
outputSchemaRecord<string, any>optionalJSON Schema for tool output
objectNamestringoptionalTarget object name (snake_case)
requiresConfirmationbooleanRequire user confirmation before execution
permissionsstring[]optionalRequired permissions or roles
activebooleanWhether the tool is enabled
builtInbooleanPlatform built-in tool flag

ToolCategory

Tool operational category

Allowed Values

  • data
  • action
  • flow
  • integration
  • vector_search
  • analytics
  • utility

On this page