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?
optionalnodeId:string
Node ID in the flow (for in-flow tool nodes)
nodeTitle?
optionalnodeTitle: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?
optionaloutputSchema:ToolOutputSchema
Defined in: packages/fireflow-types/src/tool/types.ts:69
JSON Schema describing the tool's output (informational)
portMetadata?
optionalportMetadata:ToolPortMetadata[]
Defined in: packages/fireflow-types/src/tool/types.ts:82
Port connection state — used to filter pre-filled args from LLM schema
portValues?
optionalportValues: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.