{
  "sdkVersion": "0.1.0",
  "families": [
    {
      "id": "flowchart",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_node",
        "remove_node",
        "rename_node",
        "set_label",
        "add_edge",
        "remove_edge"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "state",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_state",
        "remove_state",
        "rename_state",
        "set_state_label",
        "add_transition",
        "remove_transition",
        "set_transition_label",
        "make_composite"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "sequence",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_participant",
        "remove_participant",
        "add_message",
        "remove_message",
        "set_message_text"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "timeline",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "remove_section",
        "set_section_label",
        "add_period",
        "remove_period",
        "set_period_label",
        "add_event",
        "remove_event",
        "set_event_text"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "class",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_class",
        "remove_class",
        "rename_class",
        "add_member",
        "remove_member",
        "add_relation",
        "remove_relation",
        "add_note",
        "remove_note"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "er",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_entity",
        "remove_entity",
        "rename_entity",
        "add_attribute",
        "remove_attribute",
        "add_relation",
        "remove_relation"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "journey",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "remove_section",
        "set_section_label",
        "add_task",
        "remove_task",
        "set_task_text",
        "set_task_score",
        "set_task_actors",
        "rename_actor"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "architecture",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "add_service",
        "remove_service",
        "rename_service",
        "set_service_label",
        "set_service_icon",
        "move_service",
        "add_group",
        "remove_group",
        "add_edge",
        "remove_edge"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "xychart",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_x_axis",
        "set_y_axis",
        "add_series",
        "remove_series",
        "set_series_values",
        "set_series_name",
        "reorder_series"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "pie",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_show_data",
        "add_slice",
        "remove_slice",
        "rename_slice",
        "set_slice_value",
        "reorder_slice"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "quadrant",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "set_axis_labels",
        "set_quadrant_label",
        "add_point",
        "remove_point",
        "move_point",
        "rename_point"
      ],
      "editPolicy": "structured-when-narrowed"
    },
    {
      "id": "gantt",
      "hasParse": true,
      "hasSerialize": true,
      "hasMutate": true,
      "hasVerify": true,
      "hasExtractLabels": true,
      "mutationOps": [
        "set_title",
        "add_section",
        "rename_section",
        "remove_section",
        "add_task",
        "remove_task",
        "rename_task",
        "set_task_status",
        "set_task_dates"
      ],
      "editPolicy": "structured-when-narrowed"
    }
  ],
  "warningCodes": [
    {
      "code": "EMPTY_DIAGRAM",
      "tier": "structural",
      "severity": "error"
    },
    {
      "code": "UNRESOLVABLE_SCHEDULE",
      "tier": "structural",
      "severity": "error"
    },
    {
      "code": "EDGE_MISANCHORED",
      "tier": "structural",
      "severity": "error"
    },
    {
      "code": "OFF_CANVAS",
      "tier": "structural",
      "severity": "error"
    },
    {
      "code": "GROUP_BREACH",
      "tier": "structural",
      "severity": "error"
    },
    {
      "code": "UNKNOWN_SHAPE",
      "tier": "structural",
      "severity": "warning"
    },
    {
      "code": "LABEL_OVERFLOW",
      "tier": "structural",
      "severity": "warning"
    },
    {
      "code": "NODE_OVERLAP",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_SELF_CROSS",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_HITCH",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_UNEXPLAINED_BEND",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_LABEL_ON_SHARED_TRUNK",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_CONTAINER_MISANCHOR",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_SHAPE_MISANCHOR",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "ROUTE_STALE_AFTER_NODE_MOVE",
      "tier": "geometric",
      "severity": "warning"
    },
    {
      "code": "DUPLICATE_EDGE",
      "tier": "lint",
      "severity": "warning"
    },
    {
      "code": "UNREACHABLE_NODE",
      "tier": "lint",
      "severity": "warning"
    },
    {
      "code": "DECISION_BRANCH_UNLABELED",
      "tier": "lint",
      "severity": "warning"
    },
    {
      "code": "COMMENT_DROPPED",
      "tier": "lint",
      "severity": "warning"
    },
    {
      "code": "UNSUPPORTED_SYNTAX",
      "tier": "lint",
      "severity": "warning"
    },
    {
      "code": "CONTENT_DROPPED_ON_ROUNDTRIP",
      "tier": "lint",
      "severity": "warning"
    }
  ],
  "outputFormats": [
    "svg",
    "ascii",
    "unicode",
    "png",
    "json"
  ],
  "generatedFrom": {
    "packageVersion": "0.1.0",
    "gitSha": "development",
    "buildTime": "development"
  }
}
