{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract": {
      "type": "string",
      "const": "DesignCapabilityCatalogArtifact"
    },
    "schemaVersion": {
      "type": "number",
      "const": 1
    },
    "sourceRef": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "sourceRevisionRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "visibility": {
          "type": "string",
          "enum": [
            "tenant",
            "global",
            "public"
          ]
        },
        "tenantScope": {
          "type": "object",
          "properties": {
            "tenantRef": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "ownerRepo": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "kind",
                "id",
                "ownerRepo"
              ],
              "additionalProperties": false
            },
            "dataSpaceRef": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "ownerRepo": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "kind",
                "id",
                "ownerRepo"
              ],
              "additionalProperties": false
            },
            "teamRef": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                },
                "ownerRepo": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "required": [
                "kind",
                "id",
                "ownerRepo"
              ],
              "additionalProperties": false
            }
          },
          "required": [
            "tenantRef",
            "dataSpaceRef"
          ],
          "additionalProperties": false
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "schemaVersion": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "contentHash": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        }
      },
      "required": [
        "kind",
        "id",
        "ownerRepo",
        "visibility",
        "revision",
        "schemaVersion",
        "contentHash"
      ],
      "additionalProperties": false
    },
    "entries": {
      "minItems": 1,
      "maxItems": 512,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "manifest": {
            "type": "object",
            "properties": {
              "contract": {
                "type": "string",
                "const": "CapabilityManifest"
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "capabilityVersion": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "kind": {
                "type": "string",
                "enum": [
                  "primitive",
                  "composite",
                  "view",
                  "professional-provider",
                  "tool",
                  "workflow"
                ]
              },
              "displayName": {
                "type": "string",
                "minLength": 1
              },
              "description": {
                "type": "string"
              },
              "ports": {
                "type": "object",
                "properties": {
                  "inputs": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "schemaRef": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "required": {
                          "default": false,
                          "type": "boolean"
                        },
                        "multiple": {
                          "default": false,
                          "type": "boolean"
                        },
                        "description": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "schemaRef",
                        "required",
                        "multiple"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "outputs": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "schemaRef": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "required": {
                          "default": false,
                          "type": "boolean"
                        },
                        "multiple": {
                          "default": false,
                          "type": "boolean"
                        },
                        "description": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "schemaRef",
                        "required",
                        "multiple"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "inputs",
                  "outputs"
                ],
                "additionalProperties": false
              },
              "runtime": {
                "type": "object",
                "properties": {
                  "providerBindings": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "providerRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "version": {
                              "anyOf": [
                                {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                },
                                {
                                  "type": "string",
                                  "minLength": 1
                                }
                              ]
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        "productContexts": {
                          "default": [],
                          "type": "array",
                          "items": {
                            "type": "string",
                            "enum": [
                              "studio",
                              "kernel"
                            ]
                          }
                        },
                        "priority": {
                          "default": 0,
                          "type": "integer",
                          "minimum": -9007199254740991,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "providerRef",
                        "productContexts",
                        "priority"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "loading": {
                    "type": "string",
                    "enum": [
                      "eager",
                      "lazy",
                      "viewport",
                      "on-activation"
                    ]
                  },
                  "fallbackCapabilityRef": {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      },
                      "version": {
                        "anyOf": [
                          {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          {
                            "type": "string",
                            "minLength": 1
                          }
                        ]
                      },
                      "ownerRepo": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "required": [
                      "kind",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  "stateOwner": {
                    "type": "string",
                    "enum": [
                      "host",
                      "provider",
                      "external"
                    ]
                  },
                  "stateSchemaRef": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "sideEffects": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "network",
                        "storage",
                        "navigation",
                        "clipboard",
                        "worker",
                        "websocket"
                      ]
                    }
                  }
                },
                "required": [
                  "providerBindings",
                  "loading",
                  "stateOwner",
                  "sideEffects"
                ],
                "additionalProperties": false
              },
              "placement": {
                "type": "object",
                "properties": {
                  "surfaces": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  },
                  "slots": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  },
                  "variants": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  },
                  "tokenRefs": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  }
                },
                "required": [
                  "surfaces",
                  "slots",
                  "variants",
                  "tokenRefs"
                ],
                "additionalProperties": false
              },
              "accessibility": {
                "type": "object",
                "properties": {
                  "keyboardModel": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "focusModel": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "labelContract": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "keyboardModel",
                  "focusModel",
                  "labelContract"
                ],
                "additionalProperties": false
              },
              "observability": {
                "type": "object",
                "properties": {
                  "eventNamespace": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "metrics": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  },
                  "evidenceRefs": {
                    "default": [],
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    }
                  },
                  "performanceBudgetMs": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "required": [
                  "eventNamespace",
                  "metrics",
                  "evidenceRefs"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "contract",
              "id",
              "capabilityVersion",
              "ownerRepo",
              "kind",
              "displayName",
              "ports",
              "runtime",
              "placement",
              "accessibility",
              "observability"
            ],
            "additionalProperties": false
          },
          "provider": {
            "type": "object",
            "properties": {
              "contract": {
                "type": "string",
                "const": "ViewProviderDescriptor"
              },
              "providerId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "providerVersion": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "runtimeContractVersion": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "ownerRepo": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "capabilityRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "rendererKey": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "renderModelSchemaRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "intentSchemaRef": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "loading": {
                "type": "string",
                "enum": [
                  "eager",
                  "lazy",
                  "viewport",
                  "on-activation"
                ]
              },
              "stateOwner": {
                "type": "string",
                "enum": [
                  "host",
                  "provider",
                  "external"
                ]
              },
              "supportedPageTypes": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "supportedSurfaces": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "page",
                    "workspace",
                    "view",
                    "record",
                    "action",
                    "overlay",
                    "agent"
                  ]
                }
              },
              "frameOwner": {
                "type": "string",
                "enum": [
                  "host",
                  "provider",
                  "none"
                ]
              },
              "sideEffects": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "network",
                    "storage",
                    "navigation",
                    "clipboard",
                    "worker",
                    "websocket"
                  ]
                }
              },
              "sideEffectAdapterRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "lifecycle": {
                "type": "object",
                "properties": {
                  "preserveMount": {
                    "type": "boolean"
                  },
                  "preserveScroll": {
                    "type": "boolean"
                  },
                  "focusModel": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "preserveMount",
                  "preserveScroll",
                  "focusModel"
                ],
                "additionalProperties": false
              },
              "performance": {
                "type": "object",
                "properties": {
                  "lazy": {
                    "type": "boolean"
                  },
                  "virtualized": {
                    "type": "boolean"
                  },
                  "budgetMs": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "required": [
                  "lazy",
                  "virtualized"
                ],
                "additionalProperties": false
              },
              "accessRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "evidenceRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "contract",
              "providerId",
              "providerVersion",
              "ownerRepo",
              "capabilityRef",
              "rendererKey",
              "renderModelSchemaRef",
              "loading",
              "stateOwner",
              "supportedPageTypes",
              "supportedSurfaces",
              "frameOwner",
              "sideEffects",
              "lifecycle",
              "performance"
            ],
            "additionalProperties": false
          },
          "declarativeRegistration": {
            "type": "object",
            "properties": {
              "runtimeContractVersion": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "registrationRevisionRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "tenant",
                      "global",
                      "public"
                    ]
                  },
                  "tenantScope": {
                    "type": "object",
                    "properties": {
                      "tenantRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "dataSpaceRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "teamRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "tenantRef",
                      "dataSpaceRef"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "schemaVersion": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contentHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "ownerRepo",
                  "visibility",
                  "revision",
                  "schemaVersion",
                  "contentHash"
                ],
                "additionalProperties": false
              },
              "capabilityRevisionRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "tenant",
                      "global",
                      "public"
                    ]
                  },
                  "tenantScope": {
                    "type": "object",
                    "properties": {
                      "tenantRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "dataSpaceRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "teamRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "tenantRef",
                      "dataSpaceRef"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "schemaVersion": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contentHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "ownerRepo",
                  "visibility",
                  "revision",
                  "schemaVersion",
                  "contentHash"
                ],
                "additionalProperties": false
              },
              "providerRevisionRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "tenant",
                      "global",
                      "public"
                    ]
                  },
                  "tenantScope": {
                    "type": "object",
                    "properties": {
                      "tenantRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "dataSpaceRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "teamRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "tenantRef",
                      "dataSpaceRef"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "schemaVersion": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contentHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "ownerRepo",
                  "visibility",
                  "revision",
                  "schemaVersion",
                  "contentHash"
                ],
                "additionalProperties": false
              },
              "propertySchemaRevisionRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "tenant",
                      "global",
                      "public"
                    ]
                  },
                  "tenantScope": {
                    "type": "object",
                    "properties": {
                      "tenantRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "dataSpaceRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "teamRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "tenantRef",
                      "dataSpaceRef"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "schemaVersion": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contentHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "ownerRepo",
                  "visibility",
                  "revision",
                  "schemaVersion",
                  "contentHash"
                ],
                "additionalProperties": false
              },
              "uiSchemaRevisionRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "visibility": {
                    "type": "string",
                    "enum": [
                      "tenant",
                      "global",
                      "public"
                    ]
                  },
                  "tenantScope": {
                    "type": "object",
                    "properties": {
                      "tenantRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "dataSpaceRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      },
                      "teamRef": {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          },
                          "ownerRepo": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 256
                          }
                        },
                        "required": [
                          "kind",
                          "id",
                          "ownerRepo"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "required": [
                      "tenantRef",
                      "dataSpaceRef"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "schemaVersion": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  },
                  "contentHash": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  }
                },
                "required": [
                  "kind",
                  "id",
                  "ownerRepo",
                  "visibility",
                  "revision",
                  "schemaVersion",
                  "contentHash"
                ],
                "additionalProperties": false
              },
              "editorEligible": {
                "type": "boolean"
              },
              "category": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "label": {
                "type": "object",
                "properties": {
                  "defaultLocale": {
                    "type": "string",
                    "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                  },
                  "values": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string",
                      "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                    },
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "defaultLocale",
                  "values"
                ],
                "additionalProperties": false
              },
              "description": {
                "type": "object",
                "properties": {
                  "defaultLocale": {
                    "type": "string",
                    "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                  },
                  "values": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string",
                      "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                    },
                    "additionalProperties": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "defaultLocale",
                  "values"
                ],
                "additionalProperties": false
              },
              "supportedSurfaces": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "studio",
                    "kernel"
                  ]
                }
              },
              "allowedSlots": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 256
                }
              },
              "allowedParentCapabilityRefs": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "ownerRepo": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "visibility": {
                      "type": "string",
                      "enum": [
                        "tenant",
                        "global",
                        "public"
                      ]
                    },
                    "tenantScope": {
                      "type": "object",
                      "properties": {
                        "tenantRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        },
                        "dataSpaceRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        },
                        "teamRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "tenantRef",
                        "dataSpaceRef"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "kind",
                    "id",
                    "ownerRepo",
                    "visibility"
                  ],
                  "additionalProperties": false
                }
              },
              "allowedChildCapabilityRefs": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "ownerRepo": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "visibility": {
                      "type": "string",
                      "enum": [
                        "tenant",
                        "global",
                        "public"
                      ]
                    },
                    "tenantScope": {
                      "type": "object",
                      "properties": {
                        "tenantRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        },
                        "dataSpaceRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        },
                        "teamRef": {
                          "type": "object",
                          "properties": {
                            "kind": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            },
                            "ownerRepo": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 256
                            }
                          },
                          "required": [
                            "kind",
                            "id",
                            "ownerRepo"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "tenantRef",
                        "dataSpaceRef"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "kind",
                    "id",
                    "ownerRepo",
                    "visibility"
                  ],
                  "additionalProperties": false
                }
              },
              "inputPorts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "schemaRevisionRef": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "ownerRepo": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "tenant",
                            "global",
                            "public"
                          ]
                        },
                        "tenantScope": {
                          "type": "object",
                          "properties": {
                            "tenantRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "dataSpaceRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "teamRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "tenantRef",
                            "dataSpaceRef"
                          ],
                          "additionalProperties": false
                        },
                        "revision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "schemaVersion": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "contentHash": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      },
                      "required": [
                        "kind",
                        "id",
                        "ownerRepo",
                        "visibility",
                        "revision",
                        "schemaVersion",
                        "contentHash"
                      ],
                      "additionalProperties": false
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "multiple": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name",
                    "schemaRevisionRef",
                    "required",
                    "multiple"
                  ],
                  "additionalProperties": false
                }
              },
              "outputPorts": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "schemaRevisionRef": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "ownerRepo": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "tenant",
                            "global",
                            "public"
                          ]
                        },
                        "tenantScope": {
                          "type": "object",
                          "properties": {
                            "tenantRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "dataSpaceRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "teamRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "tenantRef",
                            "dataSpaceRef"
                          ],
                          "additionalProperties": false
                        },
                        "revision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "schemaVersion": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "contentHash": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      },
                      "required": [
                        "kind",
                        "id",
                        "ownerRepo",
                        "visibility",
                        "revision",
                        "schemaVersion",
                        "contentHash"
                      ],
                      "additionalProperties": false
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "multiple": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "name",
                    "schemaRevisionRef",
                    "required",
                    "multiple"
                  ],
                  "additionalProperties": false
                }
              },
              "allowedSideEffects": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "network",
                    "storage",
                    "navigation",
                    "clipboard",
                    "worker",
                    "websocket"
                  ]
                }
              },
              "ontologyRequirements": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "inputPort": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "renderModelSchemaRevisionRef": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "ownerRepo": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "tenant",
                            "global",
                            "public"
                          ]
                        },
                        "tenantScope": {
                          "type": "object",
                          "properties": {
                            "tenantRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "dataSpaceRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "teamRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "tenantRef",
                            "dataSpaceRef"
                          ],
                          "additionalProperties": false
                        },
                        "revision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "schemaVersion": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "contentHash": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      },
                      "required": [
                        "kind",
                        "id",
                        "ownerRepo",
                        "visibility",
                        "revision",
                        "schemaVersion",
                        "contentHash"
                      ],
                      "additionalProperties": false
                    },
                    "modes": {
                      "minItems": 1,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "view",
                          "filter"
                        ]
                      }
                    },
                    "requiredPermissionCodes": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    }
                  },
                  "required": [
                    "inputPort",
                    "renderModelSchemaRevisionRef",
                    "modes",
                    "requiredPermissionCodes"
                  ],
                  "additionalProperties": false
                }
              },
              "actionRequirements": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "outputPort": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "allowedCommandKinds": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    },
                    "requiredPermissionCodes": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                      }
                    }
                  },
                  "required": [
                    "outputPort",
                    "allowedCommandKinds",
                    "requiredPermissionCodes"
                  ],
                  "additionalProperties": false
                }
              },
              "propertyFields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "object",
                      "properties": {
                        "defaultLocale": {
                          "type": "string",
                          "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                        },
                        "values": {
                          "type": "object",
                          "propertyNames": {
                            "type": "string",
                            "pattern": "^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$"
                          },
                          "additionalProperties": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      },
                      "required": [
                        "defaultLocale",
                        "values"
                      ],
                      "additionalProperties": false
                    },
                    "control": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 256
                    },
                    "required": {
                      "type": "boolean"
                    },
                    "advanced": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "path",
                    "label",
                    "control",
                    "required",
                    "advanced"
                  ],
                  "additionalProperties": false
                }
              },
              "schemaDocuments": {
                "minItems": 1,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "schemaRevisionRef": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "ownerRepo": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 256
                        },
                        "visibility": {
                          "type": "string",
                          "enum": [
                            "tenant",
                            "global",
                            "public"
                          ]
                        },
                        "tenantScope": {
                          "type": "object",
                          "properties": {
                            "tenantRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "dataSpaceRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            },
                            "teamRef": {
                              "type": "object",
                              "properties": {
                                "kind": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "id": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                },
                                "ownerRepo": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 256
                                }
                              },
                              "required": [
                                "kind",
                                "id",
                                "ownerRepo"
                              ],
                              "additionalProperties": false
                            }
                          },
                          "required": [
                            "tenantRef",
                            "dataSpaceRef"
                          ],
                          "additionalProperties": false
                        },
                        "revision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "schemaVersion": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "contentHash": {
                          "type": "string",
                          "pattern": "^[a-f0-9]{64}$"
                        }
                      },
                      "required": [
                        "kind",
                        "id",
                        "ownerRepo",
                        "visibility",
                        "revision",
                        "schemaVersion",
                        "contentHash"
                      ],
                      "additionalProperties": false
                    },
                    "document": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "$ref": "#/$defs/__schema0"
                      }
                    }
                  },
                  "required": [
                    "schemaRevisionRef",
                    "document"
                  ],
                  "additionalProperties": false
                }
              },
              "sourceContentHash": {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              }
            },
            "required": [
              "registrationRevisionRef",
              "capabilityRevisionRef",
              "providerRevisionRef",
              "propertySchemaRevisionRef",
              "editorEligible",
              "category",
              "label",
              "description",
              "supportedSurfaces",
              "allowedSlots",
              "allowedParentCapabilityRefs",
              "allowedChildCapabilityRefs",
              "inputPorts",
              "outputPorts",
              "allowedSideEffects",
              "ontologyRequirements",
              "actionRequirements",
              "propertyFields",
              "schemaDocuments",
              "sourceContentHash"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "manifest",
          "provider",
          "declarativeRegistration"
        ],
        "additionalProperties": false
      }
    },
    "sourceContentHash": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "contract",
    "schemaVersion",
    "sourceRef",
    "sourceRevisionRef",
    "entries",
    "sourceContentHash"
  ],
  "additionalProperties": false,
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    }
  },
  "$id": "https://schemas.infmonkeys.com/contracts/design-capability-catalog-artifact.schema.json",
  "title": "design-capability-catalog-artifact"
}
