{
  "name": "gia-entity-designer-agent-catalog",
  "version": "1.1.0",
  "palette_type_count": 61,
  "gia_endpoint": {
    "cloud": "https://gia.hub8.ai/api",
    "local": "http://127.0.0.1:4000",
    "wrong": [
      "https://gia.hub8.ai",
      "https://gia.hub8.ai/docs"
    ]
  },
  "urls": {
    "llms": "https://gia.hub8.ai/llms.txt",
    "agents": "https://gia.hub8.ai/vibe-coding/AGENTS.md",
    "golden_seed": "https://gia.hub8.ai/vibe-coding/golden-mini.seed.json",
    "apply_contract": "https://gia.hub8.ai/vibe-coding/apply-contract.md",
    "entity_designer_doc_md": "https://gia.hub8.ai/vibe-coding/entity-designer-doc.md",
    "entity_designer_doc_spa": "https://gia.hub8.ai/docs/apps/entity-designer-doc",
    "swagger": "https://gia.hub8.ai/gia/swagger"
  },
  "element_types": {
    "inputs": [
      "textField",
      "textArea",
      "numberField",
      "datePicker",
      "dateRangePicker",
      "timePicker",
      "dateTimePicker"
    ],
    "selection": [
      "select",
      "multiSelect",
      "radioGroup",
      "checkbox",
      "switch",
      "autocomplete",
      "toggleButtonGroup",
      "slider",
      "rating",
      "appointmentPicker"
    ],
    "media": [
      "fileUpload",
      "imageUpload",
      "staticImage",
      "signatureField",
      "audioRecorder",
      "videoRecorder"
    ],
    "layout": [
      "card",
      "box",
      "tabs",
      "accordion",
      "stepper",
      "list",
      "spacer",
      "stack",
      "grid",
      "childEntity",
      "embeddedEntity"
    ],
    "display": [
      "typography",
      "divider",
      "alert",
      "listItem",
      "imageList",
      "itemList",
      "badge",
      "richText",
      "avatar",
      "avatarGroup",
      "circularProgress",
      "linearProgress",
      "icon",
      "iconGroup",
      "tabularView",
      "chartView",
      "pivotView",
      "mapView",
      "mermaid",
      "bpmn",
      "calendarView",
      "entityDataSource"
    ],
    "action": [
      "button",
      "chip",
      "chipGroup",
      "fab",
      "quantityStepper"
    ]
  },
  "widths": [
    "full",
    "flex",
    "threeQuarters",
    "twoThirds",
    "half",
    "third",
    "quarter",
    "sixth"
  ],
  "layout_align": [
    "left",
    "center",
    "right",
    "stretch",
    "space-between",
    "space-around",
    "space-evenly"
  ],
  "presentation": [
    "list",
    "comfortable",
    "wide",
    "page"
  ],
  "presentation_legacy_aliases": {
    "dashboard": "wide",
    "mobile": "page"
  },
  "chrome": [
    "default",
    "bare"
  ],
  "render_mode": [
    "schema",
    "enhanced",
    "custom"
  ],
  "link_field_required": [
    "apiDataSource.sourceId",
    "apiDataSource.sourceLabel"
  ],
  "data_source_bind_keys": {
    "canvas_element_type": "entityDataSource",
    "consumer_rows": [
      "rowsFromEntityDataSource",
      "entityDataSourceName"
    ],
    "consumer_choices": [
      "choicesFromEntityDataSource",
      "entityDataSourceChoiceName",
      "entityDataSourceChoiceLabelField",
      "entityDataSourceChoiceValueField"
    ],
    "bindings": {
      "current_row": "${Label.column}",
      "indexed_row": "${Label[0].column}"
    },
    "inline_apiDataSource_on_consumers": "removed_fails_at_runtime"
  },
  "child_entity_storage": {
    "not_nested_on_parent": true,
    "required_child_doc_keys": [
      "_parentId",
      "_parentEntity",
      "_parentField",
      "_rowOrder"
    ],
    "synced_rows_key": "syncedRows",
    "bulk_import_when_kind": "bulkImport"
  },
  "auto_fill": {
    "scalar_key": "fetchFrom",
    "pattern": "LinkField.SourceColumn"
  },
  "actions": [
    "none",
    "applyFilters",
    "submit",
    "reset",
    "callApi",
    "navigate",
    "openPopup",
    "pay"
  ],
  "layout_contract": {
    "static_layout": [
      "box",
      "card",
      "tabs",
      "accordion",
      "stepper"
    ],
    "data_repeaters": [
      "stack",
      "grid",
      "imageList"
    ],
    "unbound_stack": "flex_toolbar_not_repeater",
    "list_in_card_caveat": "often_static_use_grid_or_stack_instead",
    "kpi_row_pattern": "grid_box_parent_not_flex_row_of_cards"
  },
  "entity_settings_keys": [
    "presentation",
    "chrome",
    "renderMode",
    "pageSize",
    "httpApiSources",
    "validationRules",
    "indexes"
  ],
  "hub_binding": {
    "data_source_type": "entityDataSource",
    "data_source_label_example": "Items",
    "table_type": "tabularView",
    "table_bind": {
      "rowsFromEntityDataSource": true,
      "entityDataSourceName": "Items"
    }
  },
  "agent_hard_rules": [
    "Use entity display names and sourceLabel, not URL slugs alone",
    "Configure collection/joins/filters once on entityDataSource; consumers bind by Label only",
    "Inline apiDataSource on chart/table/list/stack/grid/imageList/pivot/map/calendar fails at load",
    "Child rows live in the child collection with _parentId/_parentEntity/_parentField/_rowOrder",
    "Table sort/filter/search/page must hit the server, not client-side row reorder",
    "Link filters and display bindings use human labels, not bare record ids",
    "Empty ${Field} filter values are omitted at fetch time",
    "Keep all opening view and chrome options (list/comfortable/wide/page, default/bare)",
    "Seeds and Entity Designer only; no hand-editing Mongo entity docs or platform runtime patches"
  ],
  "metadata": {
    "list_fields": [
      "displayName",
      "entityName",
      "entityId",
      "fieldCount"
    ],
    "describe_path_uses": "displayName (URL-encoded), not entityName slug",
    "relation_graph": "GET /v1/entities/metadata/relation-graph"
  },
  "discover": [
    "GET /v1/seeds/health",
    "GET /v1/entities/metadata",
    "GET /v1/entities/metadata/search?q=",
    "GET /v1/entities/metadata/relation-graph",
    "GET /v1/entities/by-name/{displayName}",
    "GET /v1/entities/{entityId}"
  ],
  "apply": {
    "method": "POST",
    "path": "/v1/seeds/apply",
    "success": {
      "http": 200,
      "body.ok": true
    },
    "options_supported": [
      "skipEntities",
      "skipMenu",
      "skipRecords"
    ],
    "no_wipe": true
  },
  "export": {
    "method": "GET",
    "path": "/v1/seeds/export",
    "wrapper": "package"
  },
  "golden_seed_entities": [
    "Demo Categories",
    "Demo Items",
    "Demo Items Hub"
  ]
}
