import { Observation } from '../../types/types'; import { ParametersType, ToolInfo } from '../../types/tool_types'; import { BaseTool } from '../BaseTool'; const characterCountParams = [ { name: 'text', type: 'string', description: 'The text to count characters in', required: true } ] as const; type CharacterCountParamsType = typeof characterCountParams; const characterCountInfo: ToolInfo = { name: 'charactercount', description: 'Counts characters in text, excluding spaces', citationRules: 'No citation needed.', parameterRules: characterCountParams }; export class CharacterCountTool extends BaseTool { constructor() { super(characterCountInfo); } async execute(args: ParametersType): Promise { const { text } = args; const count = text ? text.replace(/\s/g, '').length : 0; return [{ type: 'text', text: `Character count (excluding spaces): ${count}` }]; } }