import type { EntitiesCatalogConfig } from '@redocly/config'; export declare function createEntitySchema(catalogConfig: EntitiesCatalogConfig): { type: string; discriminator: { propertyName: string; }; oneOf: ({ type: string; properties: { type: { const: string; }; metadata: { additionalProperties: boolean; required?: string[] | undefined; description?: string | undefined; properties: { [x: string]: { [x: string]: unknown; enum?: string[] | undefined; items?: { [x: string]: unknown; } | undefined; type?: "string" | "number" | "boolean" | "object" | "array" | undefined; maximum?: number | undefined; minimum?: number | undefined; pattern?: string | undefined; format?: string | undefined; description?: string | undefined; example?: string | number | boolean | unknown[] | { [x: string]: unknown; } | undefined; }; }; type: "object"; }; revision: { type: string; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; }; required: string[]; additionalProperties: boolean; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; required: readonly ["key", "title", "type", "metadata"]; additionalProperties: false; nodeTypeName: "UserEntity"; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "ApiOperationEntity"; required: readonly ["key", "title", "type", "metadata"]; additionalProperties: false; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "DataSchemaEntity"; required: readonly ["key", "title", "type", "metadata"]; additionalProperties: false; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "ApiDescriptionEntity"; required: readonly ["key", "title", "type", "metadata"]; additionalProperties: false; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "ServiceEntity"; required: readonly ["key", "title", "type"]; additionalProperties: false; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "DomainEntity"; required: readonly ["key", "title", "type"]; additionalProperties: false; } | { properties: { revision: { type: string; }; type: { readonly const: "user"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "UserEntityMetadata"; readonly properties: { readonly email: { readonly type: "string"; readonly description: "Email of the user"; }; }; readonly required: readonly ["email"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-operation"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiOperationEntityMetadata"; readonly properties: { readonly method: { readonly type: "string"; readonly enum: readonly ["GET", "POST", "PUT", "DELETE", "PATCH", "MUTATION", "QUERY", "SUBSCRIBE", "PUBLISH"]; readonly description: "HTTP method of the API operation"; }; readonly path: { readonly type: "string"; readonly description: "Path of the API operation"; }; readonly payload: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; readonly responses: { readonly type: "array"; readonly items: { readonly type: "string"; readonly description: "Related dataSchema name"; }; }; }; readonly required: readonly ["method", "path"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "data-schema"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "DataSchemaEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Specification type of the data schema"; }; readonly schema: { readonly type: "string"; readonly description: "Inline schema of the data structure"; }; readonly sdl: { readonly type: "string"; readonly description: "SDL of the data structure"; }; }; readonly required: readonly ["specType"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "api-description"; }; metadata: { readonly type: "object"; readonly nodeTypeName: "ApiDescriptionEntityMetadata"; readonly properties: { readonly specType: { readonly type: "string"; readonly enum: readonly ["jsonschema", "openapi", "asyncapi", "avro", "zod", "graphql", "protobuf", "arazzo"]; readonly description: "Type of the API description"; }; readonly descriptionFile: { readonly type: "string"; readonly description: "Path to the file containing the API description"; }; }; readonly required: readonly ["specType", "descriptionFile"]; readonly additionalProperties: true; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; } | { revision: { type: string; }; type: { readonly const: "service"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "domain"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; } | { revision: { type: string; }; type: { readonly const: "team"; }; version: { readonly type: "string"; }; key: { readonly type: "string"; readonly pattern: "^[a-z0-9]+(?:-[a-z0-9]+)*$"; readonly minLength: 2; readonly maxLength: 150; }; title: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 200; }; summary: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 500; }; tags: { readonly type: "array"; readonly items: { readonly type: "string"; readonly minLength: 1; readonly maxLength: 50; }; }; git: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; contact: { readonly type: "object"; readonly nodeTypeName: "EntityContact"; readonly properties: { readonly slack: { readonly type: "object"; readonly nodeTypeName: "EntitySlackContact"; readonly properties: { readonly channels: { readonly type: "array"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntitySlackChannel"; readonly properties: { readonly name: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["name"]; readonly additionalProperties: false; }; }; }; readonly required: readonly ["channels"]; readonly additionalProperties: false; }; }; readonly additionalProperties: false; }; links: { readonly type: "array"; readonly nodeTypeName: "EntityLinkList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityLink"; readonly properties: { readonly label: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 150; }; readonly url: { readonly type: "string"; }; }; readonly required: readonly ["label", "url"]; readonly additionalProperties: false; }; }; relations: { readonly type: "array"; readonly nodeTypeName: "EntityRelationList"; readonly items: { readonly type: "object"; readonly nodeTypeName: "EntityRelation"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["partOf", "hasParts", "creates", "createdBy", "owns", "ownedBy", "implements", "implementedBy", "dependsOn", "dependencyOf", "uses", "usedBy", "produces", "consumes", "linksTo", "supersedes", "supersededBy", "compatibleWith", "extends", "extendedBy", "relatesTo", "hasMember", "memberOf", "triggers", "triggeredBy", "returns", "returnedBy"]; }; readonly key: { readonly type: "string"; readonly minLength: 2; readonly maxLength: 100; }; readonly version: { readonly type: "string"; }; readonly revision: { readonly type: "string"; }; }; readonly required: readonly ["type", "key"]; readonly additionalProperties: false; }; }; metadata: { readonly type: "object"; readonly properties: {}; readonly nodeTypeName: "EntityMetadata"; readonly additionalProperties: true; }; }; type: "object"; nodeTypeName: "TeamEntity"; required: readonly ["key", "title", "type"]; additionalProperties: false; })[]; }; //# sourceMappingURL=create-entity-schema.d.ts.map