Files
railiance-fabric/schemas/graph-explorer-payload.schema.yaml
2026-05-18 14:08:01 +02:00

259 lines
5.5 KiB
YAML

$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
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._:/@+-]*$"