22 lines
531 B
TypeScript
22 lines
531 B
TypeScript
import { Effect, Schema } from "effect"
|
|
import * as Tool from "./tool"
|
|
|
|
export const Parameters = Schema.Struct({
|
|
tool: Schema.String,
|
|
error: Schema.String,
|
|
})
|
|
|
|
export const InvalidTool = Tool.define(
|
|
"invalid",
|
|
Effect.succeed({
|
|
description: "Do not use",
|
|
parameters: Parameters,
|
|
execute: (params: { tool: string; error: string }) =>
|
|
Effect.succeed({
|
|
title: "Invalid Tool",
|
|
output: `The arguments provided to the tool are invalid: ${params.error}`,
|
|
metadata: {},
|
|
}),
|
|
}),
|
|
)
|