( toolName: string, unknownArgumentNames: string[], expectedArgumentNames: string[], )
| 127 | } |
| 128 | |
| 129 | function buildUnknownArgumentsMessage( |
| 130 | toolName: string, |
| 131 | unknownArgumentNames: string[], |
| 132 | expectedArgumentNames: string[], |
| 133 | ): string { |
| 134 | const unknownLabel = |
| 135 | unknownArgumentNames.length === 1 ? 'argument' : 'arguments'; |
| 136 | const expectedArguments = expectedArgumentNames.length |
| 137 | ? `Expected arguments: ${formatArgumentNames(expectedArgumentNames)}.` |
| 138 | : 'This tool does not accept any arguments.'; |
| 139 | const correction = |
| 140 | unknownArgumentNames.length === 1 ? 'Remove it' : 'Remove them'; |
| 141 | |
| 142 | return `Unknown ${unknownLabel} for tool "${toolName}": ${formatArgumentNames(unknownArgumentNames)}. ${expectedArguments} ${correction} and retry.`; |
| 143 | } |
| 144 | |
| 145 | export class ToolHandler { |
| 146 | readonly inputSchema: zod.ZodRawShape; |
no test coverage detected
searching dependent graphs…