$schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://railiance.local/fabric/schemas/graph-explorer-payload.schema.yaml" title: "GraphExplorerPayload" type: object additionalProperties: false required: - apiVersion - kind - elements - hidden_elements properties: apiVersion: $ref: "./common.schema.yaml#/$defs/apiVersion" kind: type: string const: GraphExplorerPayload manifest_id: type: string generated_at: type: string format: date-time repository: type: object additionalProperties: true scope: type: object additionalProperties: true mode: type: string profile: anyOf: - type: "null" - $ref: "#/$defs/profile" metrics: type: object additionalProperties: anyOf: - type: integer - type: number - type: boolean - type: string - type: "null" filter: type: object additionalProperties: false properties: rules: type: array items: $ref: "#/$defs/rule" manual_overrides: type: object additionalProperties: $ref: "#/$defs/displayState" orphaned_overrides: type: array items: type: string precedence: type: string connected_edge_behavior: type: string elements: type: array items: $ref: "#/$defs/element" hidden_elements: type: array items: $ref: "#/$defs/element" impacts: type: array items: type: object additionalProperties: true changed_fact_keys: type: array items: type: string $defs: element: type: object additionalProperties: false required: - data properties: data: type: object additionalProperties: true required: - id - stableKey - kind - layer - displayState properties: id: $ref: "#/$defs/stableKey" key: $ref: "#/$defs/stableKey" stableKey: $ref: "#/$defs/stableKey" kind: type: string minLength: 1 layer: type: string minLength: 1 label: type: string name: type: string description: type: string repo: type: string domain: type: string lifecycle: type: string reviewState: type: string freshnessState: type: string displayState: $ref: "#/$defs/displayState" visibilitySource: type: string visibilityReason: type: string confidence: anyOf: - type: number minimum: 0 maximum: 1 - type: "null" visualSize: type: number minimum: 1 ownership: type: string unresolved: type: boolean source: $ref: "#/$defs/stableKey" target: $ref: "#/$defs/stableKey" sourceLayer: type: string targetLayer: type: string edgeType: type: string dependencyType: type: string strength: type: string enum: - weak - medium - strong edgeWidth: type: number minimum: 0 sameLayer: type: boolean connectedToBlurred: type: boolean path: type: string value: type: string attributes: anyOf: - type: object additionalProperties: true - type: array items: type: string metadata: type: object additionalProperties: true sourceReferences: type: array items: type: object additionalProperties: anyOf: - type: string - type: integer - type: number - type: "null" deepLinks: type: object additionalProperties: type: string classes: type: string group: type: string enum: - nodes - edges displayState: type: string enum: - show - blur - hide - highlight - remove profile: type: object additionalProperties: true required: - name properties: id: anyOf: - type: string - type: integer repository_id: anyOf: - type: string - type: integer name: type: string description: type: string default_mode: type: string filter_rules: type: array items: $ref: "#/$defs/rule" manual_overrides: type: object additionalProperties: $ref: "#/$defs/displayState" rule: type: object additionalProperties: true required: - action properties: action: $ref: "#/$defs/displayState" name: type: string description: type: string match: type: object additionalProperties: true stableKey: type: string minLength: 1 maxLength: 240 pattern: "^[A-Za-z0-9][A-Za-z0-9._:/@+-]*$"