SoulFire TypeScript SDK 2.10.3
    Preparing search index...

    Type Alias PortDefinition

    PortDefinition: Message<"soulfire.v1.PortDefinition"> & {
        acceptedTypes: PortType[];
        defaultValue?: string;
        description: string;
        displayName: string;
        elementType?: PortType;
        id: string;
        inferTypeFrom: string;
        multiInput: boolean;
        portType: PortType;
        required: boolean;
        typeDescriptor?: TypeDescriptor;
    }

    Definition of a port (input or output) on a node type. Describes the port's type, constraints, and display properties.

    Type Declaration

    • acceptedTypes: PortType[]

      For polymorphic ports, the list of accepted types. If non-empty, this port can accept any of these types and will adapt its behavior based on the connected type.

      from field: repeated soulfire.v1.PortType accepted_types = 9;

    • OptionaldefaultValue?: string

      Default value for this port when not connected (JSON-encoded). Only applicable for input ports.

      from field: optional string default_value = 5;

    • description: string

      Optional description explaining what this port is for.

      from field: string description = 6;

    • displayName: string

      Human-readable name displayed in the UI. Examples: "Target Position", "Bot", "Message".

      from field: string display_name = 2;

    • OptionalelementType?: PortType

      For list ports, the type of elements in the list. Only applicable when port_type is PORT_TYPE_LIST.

      from field: optional soulfire.v1.PortType element_type = 7;

    • id: string

      The identifier for this port. Used in edge connections (source_handle/target_handle). Examples: "value", "target", "bot", "exec_in", "exec_out".

      from field: string id = 1;

    • inferTypeFrom: string

      For dynamic output ports, the ID of the input port to inherit type from. Used for polymorphic nodes where output type depends on input type.

      from field: string infer_type_from = 10;

    • multiInput: boolean

      Whether this input accepts multiple connections (Blender-style multi-input). When true, all connected values are collected into a list. Visually rendered as a pill/ellipsis shaped socket.

      from field: bool multi_input = 8;

    • portType: PortType

      The data type this port accepts or produces.

      from field: soulfire.v1.PortType port_type = 3;

    • required: boolean

      Whether this input is required for the node to execute. Only applicable for input ports.

      from field: bool required = 4;

    • OptionaltypeDescriptor?: TypeDescriptor

      Optional generic type descriptor for parameterized types. When present, provides richer type information than the flat port_type field. For example, List or a type variable T that resolves from connections.

      from field: optional soulfire.v1.TypeDescriptor type_descriptor = 11;

    from message soulfire.v1.PortDefinition