Skip to main content
When components transmit or receive state, parameters, or content within a workflow session, the payload conforms precisely to structured Value Objects. Value objects provide strict typing enabling components to parse routing cleanly. All standard type objects require a rigid "type" string mapped uniquely to their implementation.

text

Represents explicit string content. Schema:
{
  "type": "text",
  "default": "..." // Optional
}
Value:
{
  "type": "text",
  "text": "The quick brown fox" 
}

integer / float

Represents numeric data, distinguishing purely integer numbers from decimals. Schema:
{
  "type": "integer", // or "float"
  "default": 10,
  "range": { 
    "from": 0,
    "to": 100,
    "step": 1
  }
}
Value:
{
  "type": "integer",
  "integer": 42 
}

boolean

Represents a binary true/false state. Schema:
{
  "type": "boolean",
  "label": "Enable Feature XYZ",
  "default": false
}
Value:
{
  "type": "boolean",
  "flag": true
}

choice

Used in dropdowns or rigid enum selection inputs. Schema:
{
  "type": "choice", 
  "default": "model-a",
  "options": [
    {
      "id": "model-a",
      "label": "Fast Model"
    },
    {
      "id": "model-b",
      "label": "Slow Model"
    }
  ]   
}
Value:
{
  "type": "choice", 
  "id": "model-a"
}

message

The comprehensive payload unit representing generative AI prompts, replies, and contexts. It is heavily nested to support images, tool usage, and multimodal components. Schema:
{
  "type": "message"
}
Value:
{
  "type": "message",
  "message": {
    "role": "user", // "system", "user", or "assistant"
    "content": [
      {
        "type": "text",
        "text": "What is the capital of France?" 
      },    
      {
        "type": "vector",
        "values": [0.12, -0.44, 0.99]                
      },
      {
        "type": "image",
        "id": "uuid-referencing-storage" 
      }
    ],
    "attributes": {
      "id": "uuid-for-tracking",
      "created_at": 1714150000000,
      "syntax_mode": "text" 
    },
    "providers": [
      {
        "interface": "genai.chat",
        "ports": [
          {
            "route": "temperature",
            "value": {
              "type": "integer",
              "integer": 0
            }
          }
        ]
      }
    ],
    "metadata": {
      // Free-form arbitrary JSON
    }
  }
}

messages

An array containing sequential message objects, representing structured conversation strings or dialogue logs. Schema:
{
  "type": "messages"
}
Value:
{
  "type": "messages",
  "messages": [
    {
      "type": "message",
      "message": { ... }
    },
    {
      "type": "message",
      "message": { ... }
    }
  ]
}

vectors

An explicit bundle of mathematical vector embeddings. Highly applicable for ingestion pipelines storing data bounds to vector databases. Schema:
{
  "type": "vectors"
}
Value:
{
  "type": "vectors",
  "vectors": [
    {
      "values": [0.3, -0.1, 0.8],
      "metadata": {
        "source": "document.pdf"
      }          
    }
  ]
}

credential

Abstract identifier mapping to a securely stored alias in BlobHub’s secret vault. Schema:
{
  "type": "credential",
  "credential_type": "openai" 
}
Value:
{
  "type": "credential",
  "alias": "production_openai_key" 
}