Skip to content

rulvar API reference


rulvar API reference / @rulvar/core / ToolDef

Interface: ToolDef<S>

Defined in: packages/core/src/l0/spi/toolsource.ts:55

A defined tool. The identity projection is the ToolContract { name, description, parameters, version }: exactly what the model sees and exactly what toolsetHash hashes; execute and every other non-contract field are excluded by construction.

Type Parameters

Type ParameterDefault type
S extends SchemaSpecSchemaSpec

Properties

PropertyModifierTypeDescriptionDefined in
descriptionreadonlystring-packages/core/src/l0/spi/toolsource.ts:58
executepublic(input, ctx) => Promise<unknown>-packages/core/src/l0/spi/toolsource.ts:67
executorreadonlyToolExecutorDefault 'inprocess'.packages/core/src/l0/spi/toolsource.ts:63
kindreadonly"tool"-packages/core/src/l0/spi/toolsource.ts:56
namereadonlystring-packages/core/src/l0/spi/toolsource.ts:57
needsApprovalreadonlybooleanDefault false; the terminal permission default asks when true.packages/core/src/l0/spi/toolsource.ts:65
parametersreadonlyS-packages/core/src/l0/spi/toolsource.ts:59
risk?readonlyToolRisk-packages/core/src/l0/spi/toolsource.ts:66
version?readonlystringOpaque contract version; part of toolsetHash.packages/core/src/l0/spi/toolsource.ts:61