rulvar API reference / @rulvar/rulvar / ToolDef
Interface: ToolDef<S>
Defined in: packages/core/dist/index.d.ts
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/dist/index.d.ts |
execute | public | (input, ctx) => Promise<unknown> | - | packages/core/dist/index.d.ts |
executor | readonly | ToolExecutor | Default 'inprocess'. | packages/core/dist/index.d.ts |
kind | readonly | "tool" | - | packages/core/dist/index.d.ts |
name | readonly | string | - | packages/core/dist/index.d.ts |
needsApproval | readonly | boolean | Default false; the terminal permission default asks when true. | packages/core/dist/index.d.ts |
parameters | readonly | S | - | packages/core/dist/index.d.ts |
risk? | readonly | ToolRisk | - | packages/core/dist/index.d.ts |
version? | readonly | string | Opaque contract version; part of toolsetHash. | packages/core/dist/index.d.ts |