{
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        {
          "items": {
            "$ref": "#/$defs/__schema0"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          },
          "propertyNames": {
            "type": "string"
          },
          "type": "object"
        }
      ]
    }
  },
  "$id": "https://garphield.com/schemas/gph-v1.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "config": {
      "additionalProperties": {
        "$ref": "#/$defs/__schema0"
      },
      "properties": {
        "bindings": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "resultType": {
                "type": "string"
              },
              "source": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "algorithm",
                      "field",
                      "transform",
                      "set"
                    ],
                    "type": "string"
                  },
                  "params": {
                    "additionalProperties": {},
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "target": {
                    "enum": [
                      "node",
                      "edge"
                    ],
                    "type": "string"
                  },
                  "temporal": {
                    "additionalProperties": false,
                    "properties": {
                      "kind": {
                        "const": "instant",
                        "type": "string"
                      }
                    },
                    "required": [
                      "kind"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "type": "object"
              }
            },
            "required": [
              "channel",
              "source",
              "resultType"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "current": {
          "additionalProperties": false,
          "properties": {
            "playerIndex": {
              "anyOf": [
                {
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ]
            },
            "state": {
              "additionalProperties": false,
              "properties": {
                "artifacts": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "artifactId": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string"
                      },
                      "format": {
                        "enum": [
                          "gph",
                          "png",
                          "html",
                          "graphml",
                          "gexf",
                          "gml",
                          "node-link",
                          "node-csv",
                          "edge-csv",
                          "analysis-bundle"
                        ],
                        "type": "string"
                      },
                      "historyOperationId": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "projectFingerprint": {
                        "pattern": "^project:v1:sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "semanticFingerprint": {
                        "pattern": "^semantic:v1:sha256:[0-9a-f]{64}$",
                        "type": "string"
                      },
                      "version": {
                        "const": 1,
                        "type": "number"
                      }
                    },
                    "required": [
                      "version",
                      "artifactId",
                      "format",
                      "semanticFingerprint",
                      "projectFingerprint",
                      "historyOperationId",
                      "createdAt"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "bindings": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "channel": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "resultType": {
                        "type": "string"
                      },
                      "source": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "kind": {
                            "enum": [
                              "algorithm",
                              "field",
                              "transform",
                              "set"
                            ],
                            "type": "string"
                          },
                          "params": {
                            "additionalProperties": {},
                            "propertyNames": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "target": {
                            "enum": [
                              "node",
                              "edge"
                            ],
                            "type": "string"
                          },
                          "temporal": {
                            "additionalProperties": false,
                            "properties": {
                              "kind": {
                                "const": "instant",
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "type": "object"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "channel",
                      "source",
                      "resultType"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "camera": {
                  "anyOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "angle": {
                          "type": "number"
                        },
                        "ratio": {
                          "type": "number"
                        },
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "x",
                        "y",
                        "ratio",
                        "angle"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "dataset": {
                  "anyOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "kind": {
                          "const": "sample",
                          "type": "string"
                        }
                      },
                      "required": [
                        "kind",
                        "id"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "kind": {
                          "const": "generator",
                          "type": "string"
                        },
                        "spec": {
                          "oneOf": [
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "p": {
                                  "maximum": 1,
                                  "minimum": 0,
                                  "type": "number"
                                },
                                "seed": {
                                  "maximum": 9007199254740991,
                                  "minimum": -9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "erdos_renyi",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n",
                                "p",
                                "seed"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "m": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "seed": {
                                  "maximum": 9007199254740991,
                                  "minimum": -9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "barabasi_albert",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n",
                                "m",
                                "seed"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "k": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "p": {
                                  "maximum": 1,
                                  "minimum": 0,
                                  "type": "number"
                                },
                                "seed": {
                                  "maximum": 9007199254740991,
                                  "minimum": -9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "watts_strogatz",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n",
                                "k",
                                "p",
                                "seed"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "complete",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "cycle",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "star",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "wheel",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "cols": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "rows": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "grid",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "rows",
                                "cols"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "h": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "r": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "balanced_tree",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "r",
                                "h"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "m1": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "m2": {
                                  "maximum": 9007199254740991,
                                  "minimum": 0,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "barbell",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "m1",
                                "m2"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "n1": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "n2": {
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991,
                                  "type": "integer"
                                },
                                "type": {
                                  "const": "complete_bipartite",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "type",
                                "n1",
                                "n2"
                              ],
                              "type": "object"
                            }
                          ]
                        }
                      },
                      "required": [
                        "kind",
                        "spec"
                      ],
                      "type": "object"
                    },
                    {
                      "additionalProperties": false,
                      "properties": {
                        "kind": {
                          "const": "file",
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "kind"
                      ],
                      "type": "object"
                    }
                  ]
                },
                "edgeDirectionStyle": {
                  "enum": [
                    "line",
                    "tapered",
                    "arrow"
                  ],
                  "type": "string"
                },
                "edgeGradient": {
                  "type": "boolean"
                },
                "filterStack": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "channel": {
                        "type": "string"
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "id": {
                        "type": "string"
                      },
                      "mode": {
                        "enum": [
                          "fade",
                          "hide"
                        ],
                        "type": "string"
                      },
                      "resultType": {
                        "type": "string"
                      },
                      "source": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "kind": {
                            "enum": [
                              "algorithm",
                              "field",
                              "transform",
                              "set"
                            ],
                            "type": "string"
                          },
                          "params": {
                            "additionalProperties": {},
                            "propertyNames": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "target": {
                            "enum": [
                              "node",
                              "edge"
                            ],
                            "type": "string"
                          },
                          "temporal": {
                            "additionalProperties": false,
                            "properties": {
                              "kind": {
                                "const": "instant",
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind"
                            ],
                            "type": "object"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "type": "object"
                      },
                      "state": {
                        "anyOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "hi": {
                                "type": "number"
                              },
                              "kind": {
                                "const": "range",
                                "type": "string"
                              },
                              "lo": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "kind",
                              "lo",
                              "hi"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "active": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "const": "categories",
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "active"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "at": {
                                "maximum": 8640000000000000,
                                "minimum": -8640000000000000,
                                "type": "number"
                              },
                              "from": {
                                "maximum": 8640000000000000,
                                "minimum": -8640000000000000,
                                "type": "number"
                              },
                              "kind": {
                                "const": "time",
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "at"
                            ],
                            "type": "object"
                          }
                        ]
                      }
                    },
                    "required": [
                      "id",
                      "source",
                      "resultType",
                      "mode"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "geo": {
                  "anyOf": [
                    {
                      "additionalProperties": false,
                      "properties": {
                        "lat": {
                          "type": "string"
                        },
                        "lng": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "lat",
                        "lng"
                      ],
                      "type": "object"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "labels": {
                  "type": "boolean"
                },
                "layout": {
                  "enum": [
                    "force",
                    "levels",
                    "geo"
                  ],
                  "type": "string"
                },
                "nodeSurfaceStyle": {
                  "enum": [
                    "flat",
                    "lumen",
                    "sphere",
                    "prism",
                    "sketchy"
                  ],
                  "type": "string"
                },
                "onion": {
                  "additionalProperties": false,
                  "properties": {
                    "context": {
                      "enum": [
                        "faded",
                        "hidden"
                      ],
                      "type": "string"
                    },
                    "depth": {
                      "oneOf": [
                        {
                          "additionalProperties": false,
                          "properties": {
                            "mode": {
                              "const": "auto",
                              "type": "string"
                            }
                          },
                          "required": [
                            "mode"
                          ],
                          "type": "object"
                        },
                        {
                          "additionalProperties": false,
                          "properties": {
                            "mode": {
                              "const": "manual",
                              "type": "string"
                            },
                            "ordinal": {
                              "type": "number"
                            }
                          },
                          "required": [
                            "mode",
                            "ordinal"
                          ],
                          "type": "object"
                        }
                      ]
                    },
                    "preference": {
                      "enum": [
                        "auto",
                        "full",
                        "overview"
                      ],
                      "type": "string"
                    },
                    "strength": {
                      "enum": [
                        "backbone",
                        "onion"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "preference",
                    "strength",
                    "depth",
                    "context"
                  ],
                  "type": "object"
                },
                "panel": {
                  "additionalProperties": false,
                  "properties": {
                    "bottom": {
                      "type": "number"
                    },
                    "bottomOpen": {
                      "type": "boolean"
                    },
                    "floating": {
                      "type": "boolean"
                    },
                    "left": {
                      "type": "number"
                    },
                    "leftOpen": {
                      "type": "boolean"
                    },
                    "right": {
                      "type": "number"
                    },
                    "rightOpen": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "bottomOpen",
                    "bottom",
                    "floating"
                  ],
                  "type": "object"
                },
                "positions": {
                  "additionalProperties": {
                    "prefixItems": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "number"
                      }
                    ],
                    "type": "array"
                  },
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "selection": {
                  "additionalProperties": false,
                  "properties": {
                    "mode": {
                      "enum": [
                        "pointer",
                        "marquee",
                        "lasso"
                      ],
                      "type": "string"
                    },
                    "primary": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "set": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "target": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "primary",
                    "set",
                    "target"
                  ],
                  "type": "object"
                },
                "sets": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "created": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "members": {
                        "additionalProperties": false,
                        "properties": {
                          "edges": {
                            "default": [],
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "nodes": {
                            "default": [],
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "required": [
                          "nodes",
                          "edges"
                        ],
                        "type": "object"
                      },
                      "note": {
                        "type": "string"
                      },
                      "provenance": {
                        "additionalProperties": false,
                        "properties": {
                          "authorKind": {
                            "enum": [
                              "human",
                              "agent",
                              "rule"
                            ],
                            "type": "string"
                          },
                          "basis": {
                            "type": "string"
                          },
                          "confidence": {
                            "maximum": 1,
                            "minimum": 0,
                            "type": "number"
                          },
                          "dataVersion": {
                            "type": "number"
                          },
                          "status": {
                            "default": "accepted",
                            "enum": [
                              "proposed",
                              "accepted",
                              "superseded"
                            ],
                            "type": "string"
                          },
                          "supersedes": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "authorKind",
                          "status"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "id",
                      "label",
                      "members",
                      "created"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "style": {
                  "additionalProperties": false,
                  "properties": {
                    "curvature": {
                      "type": "number"
                    },
                    "fisheye": {
                      "additionalProperties": false,
                      "properties": {
                        "enabled": {
                          "type": "boolean"
                        },
                        "magnification": {
                          "type": "number"
                        },
                        "radiusScale": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "enabled",
                        "magnification",
                        "radiusScale"
                      ],
                      "type": "object"
                    },
                    "linkOpacity": {
                      "type": "number"
                    },
                    "linkWidth": {
                      "type": "number"
                    },
                    "nodeGap": {
                      "type": "number"
                    },
                    "nodeSize": {
                      "type": "number"
                    },
                    "nodeSurface": {
                      "enum": [
                        "flat",
                        "lumen",
                        "sphere",
                        "prism",
                        "sketchy"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "nodeSurface",
                    "nodeSize",
                    "nodeGap",
                    "linkWidth",
                    "linkOpacity",
                    "curvature",
                    "fisheye"
                  ],
                  "type": "object"
                },
                "tapered": {
                  "type": "boolean"
                },
                "theme": {
                  "enum": [
                    "light",
                    "dark",
                    "seafoam"
                  ],
                  "type": "string"
                },
                "v": {
                  "const": 1,
                  "type": "number"
                }
              },
              "required": [
                "v",
                "dataset",
                "layout",
                "tapered",
                "theme",
                "bindings",
                "filterStack",
                "selection",
                "camera",
                "panel"
              ],
              "type": "object"
            },
            "version": {
              "const": 1,
              "type": "number"
            }
          },
          "required": [
            "version",
            "state",
            "playerIndex"
          ],
          "type": "object"
        },
        "filterStack": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "channel": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "id": {
                "type": "string"
              },
              "mode": {
                "enum": [
                  "fade",
                  "hide"
                ],
                "type": "string"
              },
              "resultType": {
                "type": "string"
              },
              "source": {
                "additionalProperties": false,
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "algorithm",
                      "field",
                      "transform",
                      "set"
                    ],
                    "type": "string"
                  },
                  "params": {
                    "additionalProperties": {},
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "target": {
                    "enum": [
                      "node",
                      "edge"
                    ],
                    "type": "string"
                  },
                  "temporal": {
                    "additionalProperties": false,
                    "properties": {
                      "kind": {
                        "const": "instant",
                        "type": "string"
                      }
                    },
                    "required": [
                      "kind"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "type": "object"
              },
              "state": {
                "anyOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "hi": {
                        "type": "number"
                      },
                      "kind": {
                        "const": "range",
                        "type": "string"
                      },
                      "lo": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "kind",
                      "lo",
                      "hi"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "active": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "kind": {
                        "const": "categories",
                        "type": "string"
                      }
                    },
                    "required": [
                      "kind",
                      "active"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "at": {
                        "maximum": 8640000000000000,
                        "minimum": -8640000000000000,
                        "type": "number"
                      },
                      "from": {
                        "maximum": 8640000000000000,
                        "minimum": -8640000000000000,
                        "type": "number"
                      },
                      "kind": {
                        "const": "time",
                        "type": "string"
                      }
                    },
                    "required": [
                      "kind",
                      "at"
                    ],
                    "type": "object"
                  }
                ]
              }
            },
            "required": [
              "id",
              "source",
              "resultType",
              "mode"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "interop": {
          "additionalProperties": false,
          "properties": {
            "attributeNameCodec": {
              "const": "AttributeNameCodecV1",
              "type": "string"
            },
            "attributeNames": {
              "additionalProperties": false,
              "properties": {
                "edges": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "nodes": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "propertyNames": {
                    "type": "string"
                  },
                  "type": "object"
                }
              },
              "required": [
                "nodes",
                "edges"
              ],
              "type": "object"
            },
            "edgeIdentityCodec": {
              "const": "EdgeIdentityCodecV1",
              "type": "string"
            },
            "edgeKeys": {
              "additionalProperties": {
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "string",
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "boolean",
                        "type": "string"
                      },
                      "value": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "integer",
                        "type": "string"
                      },
                      "value": {
                        "pattern": "^-?(0|[1-9][0-9]*)$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "number",
                        "type": "string"
                      },
                      "value": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  }
                ]
              },
              "propertyNames": {
                "type": "string"
              },
              "type": "object"
            },
            "identityCodec": {
              "const": "IdentityCodecV1",
              "type": "string"
            },
            "nodeIds": {
              "additionalProperties": {
                "oneOf": [
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "string",
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "boolean",
                        "type": "string"
                      },
                      "value": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "integer",
                        "type": "string"
                      },
                      "value": {
                        "pattern": "^-?(0|[1-9][0-9]*)$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "number",
                        "type": "string"
                      },
                      "value": {
                        "type": "number"
                      }
                    },
                    "required": [
                      "type",
                      "value"
                    ],
                    "type": "object"
                  }
                ]
              },
              "propertyNames": {
                "type": "string"
              },
              "type": "object"
            },
            "tables": {
              "additionalProperties": false,
              "properties": {
                "edges": {
                  "additionalProperties": false,
                  "properties": {
                    "columns": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "logicalType": {
                            "enum": [
                              "identity",
                              "string",
                              "boolean",
                              "integer",
                              "number",
                              "datetime"
                            ],
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "nullable": {
                            "type": "boolean"
                          },
                          "role": {
                            "enum": [
                              "nodeId",
                              "source",
                              "target",
                              "edgeKey",
                              "attribute"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "role",
                          "logicalType",
                          "nullable"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "columns"
                  ],
                  "type": "object"
                },
                "nodes": {
                  "additionalProperties": false,
                  "properties": {
                    "columns": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "logicalType": {
                            "enum": [
                              "identity",
                              "string",
                              "boolean",
                              "integer",
                              "number",
                              "datetime"
                            ],
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "nullable": {
                            "type": "boolean"
                          },
                          "role": {
                            "enum": [
                              "nodeId",
                              "source",
                              "target",
                              "edgeKey",
                              "attribute"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "role",
                          "logicalType",
                          "nullable"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "columns"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "nodes",
                "edges"
              ],
              "type": "object"
            },
            "version": {
              "const": 1,
              "type": "number"
            }
          },
          "required": [
            "version",
            "identityCodec",
            "edgeIdentityCodec",
            "attributeNameCodec",
            "nodeIds",
            "edgeKeys",
            "attributeNames"
          ],
          "type": "object"
        },
        "layout": {
          "enum": [
            "force",
            "levels",
            "geo",
            "quality"
          ],
          "type": "string"
        },
        "session": {
          "additionalProperties": false,
          "properties": {
            "current": {
              "type": "string"
            },
            "docs": {
              "additionalProperties": {
                "additionalProperties": false,
                "properties": {
                  "artifacts": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "artifactId": {
                          "type": "string"
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "format": {
                          "enum": [
                            "gph",
                            "png",
                            "html",
                            "graphml",
                            "gexf",
                            "gml",
                            "node-link",
                            "node-csv",
                            "edge-csv",
                            "analysis-bundle"
                          ],
                          "type": "string"
                        },
                        "historyOperationId": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        },
                        "projectFingerprint": {
                          "pattern": "^project:v1:sha256:[0-9a-f]{64}$",
                          "type": "string"
                        },
                        "semanticFingerprint": {
                          "pattern": "^semantic:v1:sha256:[0-9a-f]{64}$",
                          "type": "string"
                        },
                        "version": {
                          "const": 1,
                          "type": "number"
                        }
                      },
                      "required": [
                        "version",
                        "artifactId",
                        "format",
                        "semanticFingerprint",
                        "projectFingerprint",
                        "historyOperationId",
                        "createdAt"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "bindings": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "channel": {
                          "type": "string"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "resultType": {
                          "type": "string"
                        },
                        "source": {
                          "additionalProperties": false,
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "kind": {
                              "enum": [
                                "algorithm",
                                "field",
                                "transform",
                                "set"
                              ],
                              "type": "string"
                            },
                            "params": {
                              "additionalProperties": {},
                              "propertyNames": {
                                "type": "string"
                              },
                              "type": "object"
                            },
                            "target": {
                              "enum": [
                                "node",
                                "edge"
                              ],
                              "type": "string"
                            },
                            "temporal": {
                              "additionalProperties": false,
                              "properties": {
                                "kind": {
                                  "const": "instant",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "kind"
                              ],
                              "type": "object"
                            }
                          },
                          "required": [
                            "kind",
                            "id"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "channel",
                        "source",
                        "resultType"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "camera": {
                    "anyOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "angle": {
                            "type": "number"
                          },
                          "ratio": {
                            "type": "number"
                          },
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "x",
                          "y",
                          "ratio",
                          "angle"
                        ],
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "dataset": {
                    "anyOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "kind": {
                            "const": "sample",
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind",
                          "id"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "const": "generator",
                            "type": "string"
                          },
                          "spec": {
                            "oneOf": [
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "p": {
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "seed": {
                                    "maximum": 9007199254740991,
                                    "minimum": -9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "erdos_renyi",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n",
                                  "p",
                                  "seed"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "m": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "seed": {
                                    "maximum": 9007199254740991,
                                    "minimum": -9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "barabasi_albert",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n",
                                  "m",
                                  "seed"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "k": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "p": {
                                    "maximum": 1,
                                    "minimum": 0,
                                    "type": "number"
                                  },
                                  "seed": {
                                    "maximum": 9007199254740991,
                                    "minimum": -9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "watts_strogatz",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n",
                                  "k",
                                  "p",
                                  "seed"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "complete",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "cycle",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "star",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "wheel",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "cols": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "rows": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "grid",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "rows",
                                  "cols"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "h": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "r": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "balanced_tree",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "r",
                                  "h"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "m1": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "m2": {
                                    "maximum": 9007199254740991,
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "barbell",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "m1",
                                  "m2"
                                ],
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "n1": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "n2": {
                                    "exclusiveMinimum": 0,
                                    "maximum": 9007199254740991,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "const": "complete_bipartite",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "n1",
                                  "n2"
                                ],
                                "type": "object"
                              }
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "spec"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "kind": {
                            "const": "file",
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "edgeDirectionStyle": {
                    "enum": [
                      "line",
                      "tapered",
                      "arrow"
                    ],
                    "type": "string"
                  },
                  "edgeGradient": {
                    "type": "boolean"
                  },
                  "filterStack": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "channel": {
                          "type": "string"
                        },
                        "enabled": {
                          "type": "boolean"
                        },
                        "id": {
                          "type": "string"
                        },
                        "mode": {
                          "enum": [
                            "fade",
                            "hide"
                          ],
                          "type": "string"
                        },
                        "resultType": {
                          "type": "string"
                        },
                        "source": {
                          "additionalProperties": false,
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "kind": {
                              "enum": [
                                "algorithm",
                                "field",
                                "transform",
                                "set"
                              ],
                              "type": "string"
                            },
                            "params": {
                              "additionalProperties": {},
                              "propertyNames": {
                                "type": "string"
                              },
                              "type": "object"
                            },
                            "target": {
                              "enum": [
                                "node",
                                "edge"
                              ],
                              "type": "string"
                            },
                            "temporal": {
                              "additionalProperties": false,
                              "properties": {
                                "kind": {
                                  "const": "instant",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "kind"
                              ],
                              "type": "object"
                            }
                          },
                          "required": [
                            "kind",
                            "id"
                          ],
                          "type": "object"
                        },
                        "state": {
                          "anyOf": [
                            {
                              "additionalProperties": false,
                              "properties": {
                                "hi": {
                                  "type": "number"
                                },
                                "kind": {
                                  "const": "range",
                                  "type": "string"
                                },
                                "lo": {
                                  "type": "number"
                                }
                              },
                              "required": [
                                "kind",
                                "lo",
                                "hi"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "active": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "kind": {
                                  "const": "categories",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "kind",
                                "active"
                              ],
                              "type": "object"
                            },
                            {
                              "additionalProperties": false,
                              "properties": {
                                "at": {
                                  "maximum": 8640000000000000,
                                  "minimum": -8640000000000000,
                                  "type": "number"
                                },
                                "from": {
                                  "maximum": 8640000000000000,
                                  "minimum": -8640000000000000,
                                  "type": "number"
                                },
                                "kind": {
                                  "const": "time",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "kind",
                                "at"
                              ],
                              "type": "object"
                            }
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "source",
                        "resultType",
                        "mode"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "geo": {
                    "anyOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "lat": {
                            "type": "string"
                          },
                          "lng": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "lat",
                          "lng"
                        ],
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "labels": {
                    "type": "boolean"
                  },
                  "layout": {
                    "enum": [
                      "force",
                      "levels",
                      "geo"
                    ],
                    "type": "string"
                  },
                  "nodeSurfaceStyle": {
                    "enum": [
                      "flat",
                      "lumen",
                      "sphere",
                      "prism",
                      "sketchy"
                    ],
                    "type": "string"
                  },
                  "onion": {
                    "additionalProperties": false,
                    "properties": {
                      "context": {
                        "enum": [
                          "faded",
                          "hidden"
                        ],
                        "type": "string"
                      },
                      "depth": {
                        "oneOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "const": "auto",
                                "type": "string"
                              }
                            },
                            "required": [
                              "mode"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "mode": {
                                "const": "manual",
                                "type": "string"
                              },
                              "ordinal": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "mode",
                              "ordinal"
                            ],
                            "type": "object"
                          }
                        ]
                      },
                      "preference": {
                        "enum": [
                          "auto",
                          "full",
                          "overview"
                        ],
                        "type": "string"
                      },
                      "strength": {
                        "enum": [
                          "backbone",
                          "onion"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "preference",
                      "strength",
                      "depth",
                      "context"
                    ],
                    "type": "object"
                  },
                  "panel": {
                    "additionalProperties": false,
                    "properties": {
                      "bottom": {
                        "type": "number"
                      },
                      "bottomOpen": {
                        "type": "boolean"
                      },
                      "floating": {
                        "type": "boolean"
                      },
                      "left": {
                        "type": "number"
                      },
                      "leftOpen": {
                        "type": "boolean"
                      },
                      "right": {
                        "type": "number"
                      },
                      "rightOpen": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "bottomOpen",
                      "bottom",
                      "floating"
                    ],
                    "type": "object"
                  },
                  "positions": {
                    "additionalProperties": {
                      "prefixItems": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "number"
                        }
                      ],
                      "type": "array"
                    },
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "selection": {
                    "additionalProperties": false,
                    "properties": {
                      "mode": {
                        "enum": [
                          "pointer",
                          "marquee",
                          "lasso"
                        ],
                        "type": "string"
                      },
                      "primary": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "set": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "target": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "primary",
                      "set",
                      "target"
                    ],
                    "type": "object"
                  },
                  "sets": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "created": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "label": {
                          "type": "string"
                        },
                        "members": {
                          "additionalProperties": false,
                          "properties": {
                            "edges": {
                              "default": [],
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "nodes": {
                              "default": [],
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": [
                            "nodes",
                            "edges"
                          ],
                          "type": "object"
                        },
                        "note": {
                          "type": "string"
                        },
                        "provenance": {
                          "additionalProperties": false,
                          "properties": {
                            "authorKind": {
                              "enum": [
                                "human",
                                "agent",
                                "rule"
                              ],
                              "type": "string"
                            },
                            "basis": {
                              "type": "string"
                            },
                            "confidence": {
                              "maximum": 1,
                              "minimum": 0,
                              "type": "number"
                            },
                            "dataVersion": {
                              "type": "number"
                            },
                            "status": {
                              "default": "accepted",
                              "enum": [
                                "proposed",
                                "accepted",
                                "superseded"
                              ],
                              "type": "string"
                            },
                            "supersedes": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "authorKind",
                            "status"
                          ],
                          "type": "object"
                        }
                      },
                      "required": [
                        "id",
                        "label",
                        "members",
                        "created"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "style": {
                    "additionalProperties": false,
                    "properties": {
                      "curvature": {
                        "type": "number"
                      },
                      "fisheye": {
                        "additionalProperties": false,
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "magnification": {
                            "type": "number"
                          },
                          "radiusScale": {
                            "type": "number"
                          }
                        },
                        "required": [
                          "enabled",
                          "magnification",
                          "radiusScale"
                        ],
                        "type": "object"
                      },
                      "linkOpacity": {
                        "type": "number"
                      },
                      "linkWidth": {
                        "type": "number"
                      },
                      "nodeGap": {
                        "type": "number"
                      },
                      "nodeSize": {
                        "type": "number"
                      },
                      "nodeSurface": {
                        "enum": [
                          "flat",
                          "lumen",
                          "sphere",
                          "prism",
                          "sketchy"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "nodeSurface",
                      "nodeSize",
                      "nodeGap",
                      "linkWidth",
                      "linkOpacity",
                      "curvature",
                      "fisheye"
                    ],
                    "type": "object"
                  },
                  "tapered": {
                    "type": "boolean"
                  },
                  "theme": {
                    "enum": [
                      "light",
                      "dark",
                      "seafoam"
                    ],
                    "type": "string"
                  },
                  "v": {
                    "const": 1,
                    "type": "number"
                  }
                },
                "required": [
                  "v",
                  "dataset",
                  "layout",
                  "tapered",
                  "theme",
                  "bindings",
                  "filterStack",
                  "selection",
                  "camera",
                  "panel"
                ],
                "type": "object"
              },
              "propertyNames": {
                "type": "string"
              },
              "type": "object"
            },
            "pins": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "created": {
                    "type": "string"
                  },
                  "docRef": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "label",
                  "docRef",
                  "created"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "story": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "frame": {
                    "type": "string"
                  },
                  "id": {
                    "type": "string"
                  },
                  "pinId": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "pinId"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "tree": {
              "items": {
                "additionalProperties": false,
                "properties": {
                  "children": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "entry": {
                    "anyOf": [
                      {
                        "oneOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "kind": {
                                "const": "graph",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              },
                              "ops": {
                                "items": {
                                  "oneOf": [
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "key": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "setNodeAttr",
                                          "type": "string"
                                        },
                                        "value": {}
                                      },
                                      "required": [
                                        "t",
                                        "id",
                                        "key",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "key": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "removeNodeAttr",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "id",
                                        "key"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "key": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "setEdgeAttr",
                                          "type": "string"
                                        },
                                        "value": {}
                                      },
                                      "required": [
                                        "t",
                                        "id",
                                        "key",
                                        "value"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "key": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "removeEdgeAttr",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "id",
                                        "key"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "attrs": {
                                          "additionalProperties": {},
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        },
                                        "id": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "addNode",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "id",
                                        "attrs"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "dropNode",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "id"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "attrs": {
                                          "additionalProperties": {},
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        },
                                        "key": {
                                          "type": "string"
                                        },
                                        "source": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "addEdge",
                                          "type": "string"
                                        },
                                        "target": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "key",
                                        "source",
                                        "target",
                                        "attrs"
                                      ],
                                      "type": "object"
                                    },
                                    {
                                      "additionalProperties": false,
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "t": {
                                          "const": "dropEdge",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "t",
                                        "key"
                                      ],
                                      "type": "object"
                                    }
                                  ]
                                },
                                "type": "array"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "ops"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "after": {
                                "anyOf": [
                                  {
                                    "additionalProperties": false,
                                    "properties": {
                                      "channel": {
                                        "type": "string"
                                      },
                                      "enabled": {
                                        "type": "boolean"
                                      },
                                      "resultType": {
                                        "type": "string"
                                      },
                                      "source": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "id": {
                                            "type": "string"
                                          },
                                          "kind": {
                                            "enum": [
                                              "algorithm",
                                              "field",
                                              "transform",
                                              "set"
                                            ],
                                            "type": "string"
                                          },
                                          "params": {
                                            "additionalProperties": {},
                                            "propertyNames": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          },
                                          "target": {
                                            "enum": [
                                              "node",
                                              "edge"
                                            ],
                                            "type": "string"
                                          },
                                          "temporal": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "kind": {
                                                "const": "instant",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind"
                                            ],
                                            "type": "object"
                                          }
                                        },
                                        "required": [
                                          "kind",
                                          "id"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "channel",
                                      "source",
                                      "resultType"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "before": {
                                "anyOf": [
                                  {
                                    "additionalProperties": false,
                                    "properties": {
                                      "channel": {
                                        "type": "string"
                                      },
                                      "enabled": {
                                        "type": "boolean"
                                      },
                                      "resultType": {
                                        "type": "string"
                                      },
                                      "source": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "id": {
                                            "type": "string"
                                          },
                                          "kind": {
                                            "enum": [
                                              "algorithm",
                                              "field",
                                              "transform",
                                              "set"
                                            ],
                                            "type": "string"
                                          },
                                          "params": {
                                            "additionalProperties": {},
                                            "propertyNames": {
                                              "type": "string"
                                            },
                                            "type": "object"
                                          },
                                          "target": {
                                            "enum": [
                                              "node",
                                              "edge"
                                            ],
                                            "type": "string"
                                          },
                                          "temporal": {
                                            "additionalProperties": false,
                                            "properties": {
                                              "kind": {
                                                "const": "instant",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "kind"
                                            ],
                                            "type": "object"
                                          }
                                        },
                                        "required": [
                                          "kind",
                                          "id"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "channel",
                                      "source",
                                      "resultType"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "channel": {
                                "type": "string"
                              },
                              "kind": {
                                "const": "layer",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "channel",
                              "before",
                              "after"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "after": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "channel": {
                                      "type": "string"
                                    },
                                    "enabled": {
                                      "type": "boolean"
                                    },
                                    "id": {
                                      "type": "string"
                                    },
                                    "mode": {
                                      "enum": [
                                        "fade",
                                        "hide"
                                      ],
                                      "type": "string"
                                    },
                                    "resultType": {
                                      "type": "string"
                                    },
                                    "source": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "kind": {
                                          "enum": [
                                            "algorithm",
                                            "field",
                                            "transform",
                                            "set"
                                          ],
                                          "type": "string"
                                        },
                                        "params": {
                                          "additionalProperties": {},
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        },
                                        "target": {
                                          "enum": [
                                            "node",
                                            "edge"
                                          ],
                                          "type": "string"
                                        },
                                        "temporal": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "kind": {
                                              "const": "instant",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind"
                                          ],
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "id"
                                      ],
                                      "type": "object"
                                    },
                                    "state": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "hi": {
                                              "type": "number"
                                            },
                                            "kind": {
                                              "const": "range",
                                              "type": "string"
                                            },
                                            "lo": {
                                              "type": "number"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "lo",
                                            "hi"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "active": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "const": "categories",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "active"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "at": {
                                              "maximum": 8640000000000000,
                                              "minimum": -8640000000000000,
                                              "type": "number"
                                            },
                                            "from": {
                                              "maximum": 8640000000000000,
                                              "minimum": -8640000000000000,
                                              "type": "number"
                                            },
                                            "kind": {
                                              "const": "time",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "at"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "source",
                                    "resultType",
                                    "mode"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "before": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "channel": {
                                      "type": "string"
                                    },
                                    "enabled": {
                                      "type": "boolean"
                                    },
                                    "id": {
                                      "type": "string"
                                    },
                                    "mode": {
                                      "enum": [
                                        "fade",
                                        "hide"
                                      ],
                                      "type": "string"
                                    },
                                    "resultType": {
                                      "type": "string"
                                    },
                                    "source": {
                                      "additionalProperties": false,
                                      "properties": {
                                        "id": {
                                          "type": "string"
                                        },
                                        "kind": {
                                          "enum": [
                                            "algorithm",
                                            "field",
                                            "transform",
                                            "set"
                                          ],
                                          "type": "string"
                                        },
                                        "params": {
                                          "additionalProperties": {},
                                          "propertyNames": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        },
                                        "target": {
                                          "enum": [
                                            "node",
                                            "edge"
                                          ],
                                          "type": "string"
                                        },
                                        "temporal": {
                                          "additionalProperties": false,
                                          "properties": {
                                            "kind": {
                                              "const": "instant",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind"
                                          ],
                                          "type": "object"
                                        }
                                      },
                                      "required": [
                                        "kind",
                                        "id"
                                      ],
                                      "type": "object"
                                    },
                                    "state": {
                                      "anyOf": [
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "hi": {
                                              "type": "number"
                                            },
                                            "kind": {
                                              "const": "range",
                                              "type": "string"
                                            },
                                            "lo": {
                                              "type": "number"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "lo",
                                            "hi"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "active": {
                                              "items": {
                                                "type": "string"
                                              },
                                              "type": "array"
                                            },
                                            "kind": {
                                              "const": "categories",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "active"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "additionalProperties": false,
                                          "properties": {
                                            "at": {
                                              "maximum": 8640000000000000,
                                              "minimum": -8640000000000000,
                                              "type": "number"
                                            },
                                            "from": {
                                              "maximum": 8640000000000000,
                                              "minimum": -8640000000000000,
                                              "type": "number"
                                            },
                                            "kind": {
                                              "const": "time",
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "kind",
                                            "at"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "source",
                                    "resultType",
                                    "mode"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "const": "stack",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "before",
                              "after"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "after": {
                                "anyOf": [
                                  {
                                    "additionalProperties": false,
                                    "properties": {
                                      "created": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "members": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "edges": {
                                            "default": [],
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "nodes": {
                                            "default": [],
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "nodes",
                                          "edges"
                                        ],
                                        "type": "object"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "provenance": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "authorKind": {
                                            "enum": [
                                              "human",
                                              "agent",
                                              "rule"
                                            ],
                                            "type": "string"
                                          },
                                          "basis": {
                                            "type": "string"
                                          },
                                          "confidence": {
                                            "maximum": 1,
                                            "minimum": 0,
                                            "type": "number"
                                          },
                                          "dataVersion": {
                                            "type": "number"
                                          },
                                          "status": {
                                            "default": "accepted",
                                            "enum": [
                                              "proposed",
                                              "accepted",
                                              "superseded"
                                            ],
                                            "type": "string"
                                          },
                                          "supersedes": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "authorKind",
                                          "status"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "members",
                                      "created"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "before": {
                                "anyOf": [
                                  {
                                    "additionalProperties": false,
                                    "properties": {
                                      "created": {
                                        "type": "string"
                                      },
                                      "id": {
                                        "type": "string"
                                      },
                                      "label": {
                                        "type": "string"
                                      },
                                      "members": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "edges": {
                                            "default": [],
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          },
                                          "nodes": {
                                            "default": [],
                                            "items": {
                                              "type": "string"
                                            },
                                            "type": "array"
                                          }
                                        },
                                        "required": [
                                          "nodes",
                                          "edges"
                                        ],
                                        "type": "object"
                                      },
                                      "note": {
                                        "type": "string"
                                      },
                                      "provenance": {
                                        "additionalProperties": false,
                                        "properties": {
                                          "authorKind": {
                                            "enum": [
                                              "human",
                                              "agent",
                                              "rule"
                                            ],
                                            "type": "string"
                                          },
                                          "basis": {
                                            "type": "string"
                                          },
                                          "confidence": {
                                            "maximum": 1,
                                            "minimum": 0,
                                            "type": "number"
                                          },
                                          "dataVersion": {
                                            "type": "number"
                                          },
                                          "status": {
                                            "default": "accepted",
                                            "enum": [
                                              "proposed",
                                              "accepted",
                                              "superseded"
                                            ],
                                            "type": "string"
                                          },
                                          "supersedes": {
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "authorKind",
                                          "status"
                                        ],
                                        "type": "object"
                                      }
                                    },
                                    "required": [
                                      "id",
                                      "label",
                                      "members",
                                      "created"
                                    ],
                                    "type": "object"
                                  },
                                  {
                                    "type": "null"
                                  }
                                ]
                              },
                              "id": {
                                "type": "string"
                              },
                              "kind": {
                                "const": "set",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "id",
                              "before",
                              "after"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "after": {
                                "additionalProperties": false,
                                "properties": {
                                  "camera": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "angle": {
                                        "type": "number"
                                      },
                                      "ratio": {
                                        "type": "number"
                                      },
                                      "x": {
                                        "type": "number"
                                      },
                                      "y": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "x",
                                      "y",
                                      "ratio",
                                      "angle"
                                    ],
                                    "type": "object"
                                  },
                                  "selectionMode": {
                                    "enum": [
                                      "pointer",
                                      "marquee",
                                      "lasso"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "before": {
                                "additionalProperties": false,
                                "properties": {
                                  "camera": {
                                    "additionalProperties": false,
                                    "properties": {
                                      "angle": {
                                        "type": "number"
                                      },
                                      "ratio": {
                                        "type": "number"
                                      },
                                      "x": {
                                        "type": "number"
                                      },
                                      "y": {
                                        "type": "number"
                                      }
                                    },
                                    "required": [
                                      "x",
                                      "y",
                                      "ratio",
                                      "angle"
                                    ],
                                    "type": "object"
                                  },
                                  "selectionMode": {
                                    "enum": [
                                      "pointer",
                                      "marquee",
                                      "lasso"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "type": "object"
                              },
                              "kind": {
                                "const": "interaction",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "before",
                              "after"
                            ],
                            "type": "object"
                          },
                          {
                            "additionalProperties": false,
                            "properties": {
                              "after": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "artifactId": {
                                      "type": "string"
                                    },
                                    "createdAt": {
                                      "type": "string"
                                    },
                                    "format": {
                                      "enum": [
                                        "gph",
                                        "png",
                                        "html",
                                        "graphml",
                                        "gexf",
                                        "gml",
                                        "node-link",
                                        "node-csv",
                                        "edge-csv",
                                        "analysis-bundle"
                                      ],
                                      "type": "string"
                                    },
                                    "historyOperationId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "projectFingerprint": {
                                      "pattern": "^project:v1:sha256:[0-9a-f]{64}$",
                                      "type": "string"
                                    },
                                    "semanticFingerprint": {
                                      "pattern": "^semantic:v1:sha256:[0-9a-f]{64}$",
                                      "type": "string"
                                    },
                                    "version": {
                                      "const": 1,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "version",
                                    "artifactId",
                                    "format",
                                    "semanticFingerprint",
                                    "projectFingerprint",
                                    "historyOperationId",
                                    "createdAt"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "author": {
                                "enum": [
                                  "human",
                                  "agent"
                                ],
                                "type": "string"
                              },
                              "before": {
                                "items": {
                                  "additionalProperties": false,
                                  "properties": {
                                    "artifactId": {
                                      "type": "string"
                                    },
                                    "createdAt": {
                                      "type": "string"
                                    },
                                    "format": {
                                      "enum": [
                                        "gph",
                                        "png",
                                        "html",
                                        "graphml",
                                        "gexf",
                                        "gml",
                                        "node-link",
                                        "node-csv",
                                        "edge-csv",
                                        "analysis-bundle"
                                      ],
                                      "type": "string"
                                    },
                                    "historyOperationId": {
                                      "anyOf": [
                                        {
                                          "type": "string"
                                        },
                                        {
                                          "type": "null"
                                        }
                                      ]
                                    },
                                    "projectFingerprint": {
                                      "pattern": "^project:v1:sha256:[0-9a-f]{64}$",
                                      "type": "string"
                                    },
                                    "semanticFingerprint": {
                                      "pattern": "^semantic:v1:sha256:[0-9a-f]{64}$",
                                      "type": "string"
                                    },
                                    "version": {
                                      "const": 1,
                                      "type": "number"
                                    }
                                  },
                                  "required": [
                                    "version",
                                    "artifactId",
                                    "format",
                                    "semanticFingerprint",
                                    "projectFingerprint",
                                    "historyOperationId",
                                    "createdAt"
                                  ],
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              "kind": {
                                "const": "artifact",
                                "type": "string"
                              },
                              "note": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "kind",
                              "author",
                              "before",
                              "after"
                            ],
                            "type": "object"
                          }
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "id": {
                    "type": "string"
                  },
                  "meta": {
                    "additionalProperties": false,
                    "properties": {
                      "created": {
                        "type": "string"
                      },
                      "docRef": {
                        "type": "string"
                      },
                      "label": {
                        "type": "string"
                      },
                      "pinned": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "pinned",
                      "created"
                    ],
                    "type": "object"
                  },
                  "parent": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "preferredChild": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "id",
                  "parent",
                  "children",
                  "preferredChild",
                  "entry",
                  "meta"
                ],
                "type": "object"
              },
              "type": "array"
            }
          },
          "required": [
            "docs",
            "tree",
            "pins",
            "story",
            "current"
          ],
          "type": "object"
        },
        "version": {
          "type": "number"
        }
      },
      "required": [
        "version"
      ],
      "type": "object"
    },
    "datasets": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "graph": {
            "anyOf": [
              {
                "additionalProperties": false,
                "properties": {
                  "directed": {
                    "type": "boolean"
                  },
                  "edges": {
                    "items": {
                      "additionalProperties": {
                        "$ref": "#/$defs/__schema0"
                      },
                      "properties": {
                        "key": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        },
                        "source": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        },
                        "target": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        }
                      },
                      "required": [
                        "source",
                        "target"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "graph": {
                    "additionalProperties": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "links": {
                    "not": {}
                  },
                  "multigraph": {
                    "type": "boolean"
                  },
                  "nodes": {
                    "items": {
                      "additionalProperties": {
                        "$ref": "#/$defs/__schema0"
                      },
                      "properties": {
                        "id": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "directed",
                  "multigraph",
                  "graph",
                  "nodes",
                  "edges"
                ],
                "type": "object"
              },
              {
                "additionalProperties": false,
                "properties": {
                  "directed": {
                    "type": "boolean"
                  },
                  "edges": {
                    "not": {}
                  },
                  "graph": {
                    "additionalProperties": {
                      "$ref": "#/$defs/__schema0"
                    },
                    "propertyNames": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "links": {
                    "items": {
                      "additionalProperties": {
                        "$ref": "#/$defs/__schema0"
                      },
                      "properties": {
                        "key": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        },
                        "source": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        },
                        "target": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        }
                      },
                      "required": [
                        "source",
                        "target"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "multigraph": {
                    "type": "boolean"
                  },
                  "nodes": {
                    "items": {
                      "additionalProperties": {
                        "$ref": "#/$defs/__schema0"
                      },
                      "properties": {
                        "id": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            },
                            {
                              "type": "boolean"
                            }
                          ]
                        }
                      },
                      "required": [
                        "id"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "directed",
                  "multigraph",
                  "graph",
                  "nodes",
                  "links"
                ],
                "type": "object"
              }
            ]
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "graph"
        ],
        "type": "object"
      },
      "minItems": 1,
      "type": "array"
    },
    "info": {
      "additionalProperties": false,
      "properties": {
        "created": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "version": {
          "const": 1,
          "type": "number"
        }
      },
      "required": [
        "version"
      ],
      "type": "object"
    }
  },
  "required": [
    "info",
    "datasets",
    "config"
  ],
  "type": "object"
}
