Catalog Hierarchy Reference

Item Type Hierarchy

Items are organized in a parent-child hierarchy. The catalog.json configuration defines which item types can contain which other types.

Maximum hierarchy depth: 10 levels

Hierarchy Tree

folder.account
├── folder.project
│   ├── folder.workflow
│   │   ├── folder.workflow (nested)
│   │   ├── task
│   │   ├── config
│   │   ├── connection
│   │   ├── payload
│   │   ├── operator
│   │   └── action
│   ├── folder.operator
│   │   ├── folder.operator (nested)
│   │   └── operator
│   ├── folder.action
│   │   ├── folder.action (nested)
│   │   └── action
│   ├── folder.payload
│   │   ├── folder.payload (nested)
│   │   └── payload
│   ├── folder.connection
│   │   ├── folder.connection (nested)
│   │   └── connection
│   ├── folder.config
│   │   ├── folder.config (nested)
│   │   └── config
│   ├── folder.asset
│   │   ├── folder.asset (nested)
│   │   ├── folder.report
│   │   │   ├── folder.report (nested)
│   │   │   ├── html_report
│   │   │   └── config
│   │   ├── folder.table
│   │   │   ├── folder.table (nested)
│   │   │   ├── table
│   │   │   └── config
│   │   ├── html_report
│   │   ├── table
│   │   └── config
│   ├── folder.ai
│   │   ├── folder.ai (nested)
│   │   ├── folder.chat
│   │   │   ├── folder.chat (nested)
│   │   │   └── chat
│   │   ├── folder.skill
│   │   │   ├── folder.skill (nested)
│   │   │   └── skill
│   │   └── skill
│   └── folder.bootstrap
├── folder.trash
│   ├── task
│   ├── connection
│   ├── config
│   ├── action
│   ├── operator
│   ├── payload
│   ├── html_report
│   └── table
└── folder.users
    └── folder.user
        └── chat_history

Non-Folder Parent-Child Relationships

Some non-folder items can also contain children:

Parent TypeCan Contain
connectionconnection_queue, task
operatortask
tasktask (subtasks)
payloadtask
configtask
tablecolumn
databaseschema
schematable

Items are connected through links with two types:

Link PropertyDescription
true_parent = trueThe item's primary parent (ownership relationship)
true_parent = falseA secondary/reference relationship

For example, a task has:

  • true_parent link to its workflow folder
  • false_parent links to its operator, connection, payload, and config items

Connection-Operator Mapping (Optional, AI works better when added)

Connections and operators must be compatible. The mapping is defined in config/system.yml:

Connection TypeCompatible Operators
connection.AWSIAMRoleoperator.AWSIAMRole
connection.pythonoperator.python, operator.spark
connection.dockeroperator.docker
connection.kubernetesoperator.kubernetes
connection.sparkoperator.spark
connection.databricksoperator.spark, operator.python
connection.anthropicoperator.anthropic
connection.slackoperator.slack
connection.postgresqloperator.postgresql
connection.AWSoperator.AWS
connection.leastactionoperator.leastaction

When creating or executing a task, the system validates that the operator type is allowed for the specified connection type. If the mapping is invalid, a 422 Unprocessable Entity error is returned with the list of valid operators for that connection.