Skip to content

PersistentAI API Documentation / @persistent-ai/fireflow-types / FireFlowToolDefinition

Interface: FireFlowToolDefinition

Defined in: packages/fireflow-types/src/tool/types.ts:61

Core provider-agnostic tool definition. All LLM nodes convert this to their native format (Anthropic, OpenAI, etc.).

Properties

description

description: string

Defined in: packages/fireflow-types/src/tool/types.ts:65

Human-readable description for the LLM


fireflow

fireflow: object

Defined in: packages/fireflow-types/src/tool/types.ts:72

FireFlow-specific metadata (separated from standard schema)

nodeId?

optional nodeId: string

Node ID in the flow (for in-flow tool nodes)

nodeTitle?

optional nodeTitle: string

Human-readable node title

nodeType

nodeType: string

NodeRegistry key — used to create fresh node instances via NodeRegistry.createNode()


inputSchema

inputSchema: ToolInputSchema

Defined in: packages/fireflow-types/src/tool/types.ts:67

JSON Schema describing the tool's input parameters


name

name: string

Defined in: packages/fireflow-types/src/tool/types.ts:63

Tool name — max 64 chars, alphanumeric + hyphens/underscores


outputSchema?

optional outputSchema: ToolOutputSchema

Defined in: packages/fireflow-types/src/tool/types.ts:69

JSON Schema describing the tool's output (informational)


portMetadata?

optional portMetadata: ToolPortMetadata[]

Defined in: packages/fireflow-types/src/tool/types.ts:82

Port connection state — used to filter pre-filled args from LLM schema


portValues?

optional portValues: Record<string, any>

Defined in: packages/fireflow-types/src/tool/types.ts:89

Pre-configured port values hidden from the LLM. Carried through the tool definition so a fresh node can be fully configured without looking up the original node by ID.

Licensed under BUSL-1.1