Skill Tracer
Skills › Archify › archify › timeline.schema.json

timeline.schema.json

160 lines · archify/schemas/timeline.schema.json at a406594

1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://github.com/tt-a1i/archify/schemas/timeline.schema.json",
4 "title": "Archify Event Timeline",
5 "type": "object",
6 "additionalProperties": false,
7 "required": [
8 "schema_version",
9 "diagram_type",
10 "meta",
11 "events"
12 ],
13 "properties": {
14 "schema_version": {
15 "const": 1
16 },
17 "diagram_type": {
18 "const": "timeline"
19 },
20 "meta": {
21 "type": "object",
22 "additionalProperties": false,
23 "required": [
24 "title",
25 "evidence"
26 ],
27 "properties": {
28 "title": {
29 "type": "string",
30 "minLength": 1
31 },
32 "locale": {
33 "$ref": "common.schema.json#/$defs/locale"
34 },
35 "translations": {
36 "$ref": "common.schema.json#/$defs/translations"
37 },
38 "subtitle": {
39 "type": "string"
40 },
41 "output": {
42 "type": "string"
43 },
44 "animation": {
45 "$ref": "common.schema.json#/$defs/animation"
46 },
47 "visual_preset": {
48 "$ref": "common.schema.json#/$defs/visualPreset"
49 },
50 "quality_profile": {
51 "$ref": "common.schema.json#/$defs/qualityProfile"
52 },
53 "repository": {
54 "$ref": "common.schema.json#/$defs/repository"
55 },
56 "views": {
57 "$ref": "common.schema.json#/$defs/guidedViews"
58 },
59 "evidence": {
60 "enum": [
61 "observed",
62 "illustrative"
63 ],
64 "description": "Whether the events are recorded observations or illustrative input; drawn on the canvas."
65 },
66 "timezone": {
67 "type": "string",
68 "minLength": 1,
69 "description": "IANA time zone used for axis and event labels; defaults to UTC."
70 }
71 }
72 },
73 "layout": {
74 "type": "object",
75 "additionalProperties": false,
76 "properties": {
77 "width": {
78 "type": "number",
79 "minimum": 480,
80 "description": "Drawing width of the time axis in px."
81 },
82 "breaks": {
83 "enum": [
84 "auto",
85 "none"
86 ],
87 "description": "auto compresses long quiet periods into disclosed axis breaks."
88 }
89 }
90 },
91 "lanes": {
92 "type": "array",
93 "items": {
94 "type": "object",
95 "additionalProperties": false,
96 "required": [
97 "id",
98 "label"
99 ],
100 "properties": {
101 "id": {
102 "$ref": "common.schema.json#/$defs/id"
103 },
104 "label": {
105 "type": "string",
106 "minLength": 1
107 }
108 }
109 }
110 },
111 "events": {
112 "type": "array",
113 "minItems": 1,
114 "items": {
115 "type": "object",
116 "additionalProperties": false,
117 "required": [
118 "id",
119 "at",
120 "title"
121 ],
122 "properties": {
123 "id": {
124 "$ref": "common.schema.json#/$defs/id"
125 },
126 "at": {
127 "type": "string",
128 "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?(Z|[+-]\\d{2}:\\d{2})$",
129 "description": "ISO 8601 timestamp with an explicit Z or ±HH:MM offset."
130 },
131 "title": {
132 "type": "string",
133 "minLength": 1
134 },
135 "detail": {
136 "type": "string"
137 },
138 "lane": {
139 "$ref": "common.schema.json#/$defs/id"
140 },
141 "kind": {
142 "enum": [
143 "default",
144 "change",
145 "alert",
146 "action",
147 "recovery"
148 ]
149 },
150 "sources": {
151 "$ref": "common.schema.json#/$defs/sourceReferences"
152 }
153 }
154 }
155 },
156 "cards": {
157 "$ref": "common.schema.json#/$defs/cards"
158 }
159 }