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 Parameter | Default type |
|---|---|
S extends SchemaSpec | SchemaSpec |
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
description | readonly | string | - | packages/core/src/l0/spi/toolsource.ts:58 |
execute | public | (input, ctx) => Promise<unknown> | - | packages/core/src/l0/spi/toolsource.ts:67 |
executor | readonly | ToolExecutor | Default 'inprocess'. | packages/core/src/l0/spi/toolsource.ts:63 |
kind | readonly | "tool" | - | packages/core/src/l0/spi/toolsource.ts:56 |
name | readonly | string | - | packages/core/src/l0/spi/toolsource.ts:57 |
needsApproval | readonly | boolean | Default false; the terminal permission default asks when true. | packages/core/src/l0/spi/toolsource.ts:65 |
parameters | readonly | S | - | packages/core/src/l0/spi/toolsource.ts:59 |
risk? | readonly | ToolRisk | - | packages/core/src/l0/spi/toolsource.ts:66 |
version? | readonly | string | Opaque contract version; part of toolsetHash. | packages/core/src/l0/spi/toolsource.ts:61 |