{/* Transform Node - Multiple Modes */}
{nodeType.includes("transform") && (
<>
{/* Mode Selector */}
{transformMode === "expressions"
? "Reshape data using key-value expressions"
: "Build a JSON object schema"}
{transformMode === "expressions" ? (
<>
{/* Expression Mode - Key/Value Pairs */}
{expressionPairs.map((pair, index) => (
))}
Use Common Expression Language.{" "}
Learn more
>
) : transformMode === "object" ? (
<>
{/* Object Mode - JSON Schema Builder */}
Structured output (JSON)
The model will generate a JSON object that matches this
schema.
{schemaMode === "simple" ? (
<>
{/* Schema Name */}
setSchemaName(e.target.value)}
className="w-full px-14 py-10 bg-background-base border border-border-faint rounded-10 text-sm text-accent-black font-mono focus:outline-none focus:border-heat-100"
/>
{/* Properties */}
{schemaFields.map((field, index) => (
))}
{/* Add Field Button */}
{/* Generate Button */}
>
) : null}
>
) : null}
>
)}
{/* Set State Node - Separate from Transform */}
{nodeType.includes("state") && !nodeType.includes("transform") && (
<>
Set global variables
Assign values to workflow's state variables
{/* State Assignments */}
{/* Variable Name */}
{/* Value Type */}
{/* Value Input */}
{renderValueInput()}
{valueType === 'string' && 'Use {{variables}} to reference other data'}
{valueType === 'number' && 'Can use {{lastOutput.price}} to reference numbers'}
{valueType === 'boolean' && 'true or false'}
{valueType === 'json' && 'Valid JSON object or array'}
{valueType === 'expression' && 'JavaScript expression like: input.x + lastOutput.y'}
{/* Add Assignment Button */}
>
)}