dsh-archify-projects 0.0.0-stage → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +231 -2
  2. package/cordis.patch.yml +99 -0
  3. package/dist/client.js +2281 -0
  4. package/dist/client.js.map +1 -0
  5. package/docs/CONTAINER.md +197 -0
  6. package/docs/DESIGN.md +905 -0
  7. package/docs/HANDOVER.md +397 -0
  8. package/docs/PUBLISH.md +107 -0
  9. package/icon.svg +12 -0
  10. package/lib/host/archify-skill.js +116 -0
  11. package/lib/host/archify-skill.js.map +1 -0
  12. package/lib/host/config.js +95 -0
  13. package/lib/host/config.js.map +1 -0
  14. package/lib/host/context.js +28 -0
  15. package/lib/host/context.js.map +1 -0
  16. package/lib/host/git.js +185 -0
  17. package/lib/host/git.js.map +1 -0
  18. package/lib/host/http.js +184 -0
  19. package/lib/host/http.js.map +1 -0
  20. package/lib/host/index.js +90 -0
  21. package/lib/host/index.js.map +1 -0
  22. package/lib/host/policy.js +124 -0
  23. package/lib/host/policy.js.map +1 -0
  24. package/lib/host/routes.js +667 -0
  25. package/lib/host/routes.js.map +1 -0
  26. package/lib/host/runner.js +913 -0
  27. package/lib/host/runner.js.map +1 -0
  28. package/lib/host/store.js +370 -0
  29. package/lib/host/store.js.map +1 -0
  30. package/lib/host/workspace.js +65 -0
  31. package/lib/host/workspace.js.map +1 -0
  32. package/lib/shared/format.js +138 -0
  33. package/lib/shared/format.js.map +1 -0
  34. package/lib/shared/prompt.js +257 -0
  35. package/lib/shared/prompt.js.map +1 -0
  36. package/lib/shared/protocol.js +31 -0
  37. package/lib/shared/protocol.js.map +1 -0
  38. package/lib/shared/types.js +173 -0
  39. package/lib/shared/types.js.map +1 -0
  40. package/locale/en.json +6 -0
  41. package/locale/zh.json +6 -0
  42. package/package.json +98 -4
  43. package/skills/archify/LICENSE +22 -0
  44. package/skills/archify/SKILL.md +109 -0
  45. package/skills/archify/THIRD_PARTY_NOTICES.md +69 -0
  46. package/skills/archify/assets/JetBrainsMono-OFL.txt +93 -0
  47. package/skills/archify/assets/template.html +13709 -0
  48. package/skills/archify/bin/archify.mjs +6936 -0
  49. package/skills/archify/bin/delivery-update.mjs +91 -0
  50. package/skills/archify/bin/finalize.mjs +895 -0
  51. package/skills/archify/bin/open-artifact.mjs +146 -0
  52. package/skills/archify/bin/preview.mjs +969 -0
  53. package/skills/archify/bin/recover-output.mjs +41 -0
  54. package/skills/archify/bin/visual-check.mjs +2667 -0
  55. package/skills/archify/brand-marks/README.md +31 -0
  56. package/skills/archify/brand-marks/catalog.json +131 -0
  57. package/skills/archify/delta/architecture-delta.mjs +1313 -0
  58. package/skills/archify/examples/agent-run.lifecycle.json +55 -0
  59. package/skills/archify/examples/agent-tool-call.workflow.json +74 -0
  60. package/skills/archify/examples/async-job-roundtrip.sequence.json +56 -0
  61. package/skills/archify/examples/brand-aware-delivery.architecture.json +34 -0
  62. package/skills/archify/examples/cache-miss-request.sequence.json +77 -0
  63. package/skills/archify/examples/checkout-platform.base.architecture.json +32 -0
  64. package/skills/archify/examples/checkout-platform.head.architecture.json +32 -0
  65. package/skills/archify/examples/dataflow-product-analytics.html +13820 -0
  66. package/skills/archify/examples/deployment-release.lifecycle.json +48 -0
  67. package/skills/archify/examples/event-stream.dataflow.json +52 -0
  68. package/skills/archify/examples/holiday-planning.workflow.json +143 -0
  69. package/skills/archify/examples/incident-response.workflow.json +59 -0
  70. package/skills/archify/examples/lifecycle-agent-run.html +13765 -0
  71. package/skills/archify/examples/locales/de.json +425 -0
  72. package/skills/archify/examples/locales/es.json +440 -0
  73. package/skills/archify/examples/locales/fr.json +425 -0
  74. package/skills/archify/examples/locales/fr.partial.json +22 -0
  75. package/skills/archify/examples/locales/it.json +425 -0
  76. package/skills/archify/examples/locales/ja.json +425 -0
  77. package/skills/archify/examples/locales/ko.json +440 -0
  78. package/skills/archify/examples/locales/pt.json +425 -0
  79. package/skills/archify/examples/locales/ru.json +425 -0
  80. package/skills/archify/examples/product-analytics.dataflow.json +71 -0
  81. package/skills/archify/examples/production-deployment.architecture.json +51 -0
  82. package/skills/archify/examples/release-delivery.workflow.json +57 -0
  83. package/skills/archify/examples/sequence-cache-miss-request.html +13835 -0
  84. package/skills/archify/examples/web-app-rendered.html +13808 -0
  85. package/skills/archify/examples/web-app.architecture.json +41 -0
  86. package/skills/archify/examples/workflow-agent-tool-call-rendered.html +13826 -0
  87. package/skills/archify/migrations/workflow-v2.mjs +280 -0
  88. package/skills/archify/package.json +17 -0
  89. package/skills/archify/recipes/scenarios.mjs +430 -0
  90. package/skills/archify/references/architecture-layout-repair.md +18 -0
  91. package/skills/archify/references/authoring-contract.md +419 -0
  92. package/skills/archify/references/authoring-defaults.md +41 -0
  93. package/skills/archify/references/brand-marks.md +82 -0
  94. package/skills/archify/references/delivery-contract.md +588 -0
  95. package/skills/archify/references/repository-authoring.md +105 -0
  96. package/skills/archify/references/update-awareness.md +12 -0
  97. package/skills/archify/references/viewer-runtime.md +35 -0
  98. package/skills/archify/renderers/architecture/grid.mjs +62 -0
  99. package/skills/archify/renderers/architecture/labels.mjs +215 -0
  100. package/skills/archify/renderers/architecture/render-architecture.mjs +1001 -0
  101. package/skills/archify/renderers/architecture/routing.mjs +1157 -0
  102. package/skills/archify/renderers/dataflow/README.md +105 -0
  103. package/skills/archify/renderers/dataflow/render-dataflow.mjs +544 -0
  104. package/skills/archify/renderers/lifecycle/README.md +171 -0
  105. package/skills/archify/renderers/lifecycle/grid-routing.mjs +429 -0
  106. package/skills/archify/renderers/lifecycle/render-lifecycle.mjs +938 -0
  107. package/skills/archify/renderers/sequence/README.md +129 -0
  108. package/skills/archify/renderers/sequence/render-sequence.mjs +526 -0
  109. package/skills/archify/renderers/shared/atomic-output.mjs +1982 -0
  110. package/skills/archify/renderers/shared/brand-marks.mjs +670 -0
  111. package/skills/archify/renderers/shared/cli.mjs +451 -0
  112. package/skills/archify/renderers/shared/desktop-readability.mjs +132 -0
  113. package/skills/archify/renderers/shared/diagnostics.mjs +173 -0
  114. package/skills/archify/renderers/shared/engineering-profiles.mjs +157 -0
  115. package/skills/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
  116. package/skills/archify/renderers/shared/generated-validators.mjs +134 -0
  117. package/skills/archify/renderers/shared/geometry.mjs +1941 -0
  118. package/skills/archify/renderers/shared/i18n.mjs +603 -0
  119. package/skills/archify/renderers/shared/layout-report.mjs +42 -0
  120. package/skills/archify/renderers/shared/legend.mjs +217 -0
  121. package/skills/archify/renderers/shared/output-path.mjs +440 -0
  122. package/skills/archify/renderers/shared/path-semantics.mjs +1017 -0
  123. package/skills/archify/renderers/shared/portable-path.mjs +408 -0
  124. package/skills/archify/renderers/shared/repository-evidence.mjs +352 -0
  125. package/skills/archify/renderers/shared/repository-location.mjs +59 -0
  126. package/skills/archify/renderers/shared/route-quality.mjs +614 -0
  127. package/skills/archify/renderers/shared/sidecar-path.mjs +38 -0
  128. package/skills/archify/renderers/shared/spatial-grid.mjs +66 -0
  129. package/skills/archify/renderers/shared/text-fit.mjs +105 -0
  130. package/skills/archify/renderers/shared/utils.mjs +254 -0
  131. package/skills/archify/renderers/shared/validator.mjs +86 -0
  132. package/skills/archify/renderers/workflow/README.md +301 -0
  133. package/skills/archify/renderers/workflow/render-workflow.mjs +37 -0
  134. package/skills/archify/renderers/workflow/workflow-compiler.mjs +4913 -0
  135. package/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  136. package/skills/archify/schemas/README.md +256 -0
  137. package/skills/archify/schemas/architecture.schema.json +152 -0
  138. package/skills/archify/schemas/common.schema.json +181 -0
  139. package/skills/archify/schemas/dataflow.schema.json +254 -0
  140. package/skills/archify/schemas/lifecycle.schema.json +280 -0
  141. package/skills/archify/schemas/sequence.schema.json +234 -0
  142. package/skills/archify/schemas/workflow.schema.json +439 -0
  143. package/skills/archify/scripts/check-render-output.mjs +1388 -0
  144. package/skills/archify/scripts/check-update.mjs +1710 -0
  145. package/skills/archify/scripts/delivery-update-child.mjs +23 -0
  146. package/skills/archify/scripts/render-examples.mjs +26 -0
  147. package/skills/archify/scripts/update-contract.mjs +182 -0
  148. package/skills/archify/skill-release.json +10 -0
@@ -0,0 +1,280 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/tt-a1i/archify/schemas/lifecycle.schema.json",
4
+ "title": "Archify Lifecycle Diagram",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "diagram_type",
10
+ "meta",
11
+ "lanes",
12
+ "states",
13
+ "transitions"
14
+ ],
15
+ "properties": {
16
+ "schema_version": {
17
+ "enum": [
18
+ 1,
19
+ 2
20
+ ]
21
+ },
22
+ "diagram_type": {
23
+ "const": "lifecycle"
24
+ },
25
+ "meta": {
26
+ "type": "object",
27
+ "additionalProperties": false,
28
+ "required": [
29
+ "title",
30
+ "output"
31
+ ],
32
+ "properties": {
33
+ "title": {
34
+ "type": "string",
35
+ "minLength": 1
36
+ },
37
+ "locale": {
38
+ "$ref": "common.schema.json#/$defs/locale"
39
+ },
40
+ "translations": {
41
+ "$ref": "common.schema.json#/$defs/translations"
42
+ },
43
+ "subtitle": {
44
+ "type": "string"
45
+ },
46
+ "output": {
47
+ "$ref": "common.schema.json#/$defs/portableOutputPath"
48
+ },
49
+ "animation": {
50
+ "$ref": "common.schema.json#/$defs/animation"
51
+ },
52
+ "visual_preset": {
53
+ "$ref": "common.schema.json#/$defs/visualPreset"
54
+ },
55
+ "quality_profile": {
56
+ "$ref": "common.schema.json#/$defs/qualityProfile"
57
+ },
58
+ "repository": {
59
+ "$ref": "common.schema.json#/$defs/repository"
60
+ },
61
+ "views": {
62
+ "$ref": "common.schema.json#/$defs/guidedViews"
63
+ },
64
+ "legend": {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "properties": {
68
+ "mode": { "$ref": "common.schema.json#/$defs/legendMode" },
69
+ "entries": {
70
+ "type": "object",
71
+ "additionalProperties": false,
72
+ "properties": {
73
+ "start": { "$ref": "common.schema.json#/$defs/legendEntry" },
74
+ "active": { "$ref": "common.schema.json#/$defs/legendEntry" },
75
+ "waiting": { "$ref": "common.schema.json#/$defs/legendEntry" },
76
+ "decision": { "$ref": "common.schema.json#/$defs/legendEntry" },
77
+ "success": { "$ref": "common.schema.json#/$defs/legendEntry" },
78
+ "failure": { "$ref": "common.schema.json#/$defs/legendEntry" },
79
+ "neutral": { "$ref": "common.schema.json#/$defs/legendEntry" },
80
+ "external": { "$ref": "common.schema.json#/$defs/legendEntry" }
81
+ }
82
+ }
83
+ }
84
+ },
85
+ "viewBox": {
86
+ "type": "array",
87
+ "prefixItems": [
88
+ {
89
+ "type": "number",
90
+ "minimum": 420
91
+ },
92
+ {
93
+ "type": "number",
94
+ "minimum": 300
95
+ }
96
+ ],
97
+ "items": false,
98
+ "minItems": 2,
99
+ "maxItems": 2
100
+ }
101
+ }
102
+ },
103
+ "lanes": {
104
+ "type": "array",
105
+ "minItems": 1,
106
+ "maxItems": 4,
107
+ "items": {
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "required": [
111
+ "id",
112
+ "label"
113
+ ],
114
+ "properties": {
115
+ "id": {
116
+ "$ref": "common.schema.json#/$defs/id"
117
+ },
118
+ "label": {
119
+ "type": "string",
120
+ "minLength": 1
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "states": {
126
+ "type": "array",
127
+ "minItems": 2,
128
+ "items": {
129
+ "type": "object",
130
+ "additionalProperties": false,
131
+ "required": [
132
+ "id",
133
+ "type",
134
+ "label",
135
+ "lane",
136
+ "col"
137
+ ],
138
+ "properties": {
139
+ "id": {
140
+ "$ref": "common.schema.json#/$defs/id"
141
+ },
142
+ "type": {
143
+ "enum": [
144
+ "start",
145
+ "active",
146
+ "waiting",
147
+ "decision",
148
+ "success",
149
+ "failure",
150
+ "neutral",
151
+ "external"
152
+ ]
153
+ },
154
+ "label": {
155
+ "type": "string",
156
+ "minLength": 1
157
+ },
158
+ "sublabel": {
159
+ "type": "string"
160
+ },
161
+ "tag": {
162
+ "type": "string"
163
+ },
164
+ "icon": { "$ref": "common.schema.json#/$defs/nodeIcon" },
165
+ "brand": {
166
+ "$ref": "common.schema.json#/$defs/brandMark"
167
+ },
168
+ "sources": {
169
+ "$ref": "common.schema.json#/$defs/sourceReferences"
170
+ },
171
+ "step": {
172
+ "type": "string"
173
+ },
174
+ "lane": {
175
+ "$ref": "common.schema.json#/$defs/id"
176
+ },
177
+ "col": {
178
+ "type": "integer",
179
+ "minimum": 0,
180
+ "maximum": 4
181
+ },
182
+ "width": {
183
+ "type": "number",
184
+ "minimum": 48
185
+ },
186
+ "height": {
187
+ "type": "number",
188
+ "minimum": 36
189
+ },
190
+ "yOffset": {
191
+ "type": "number"
192
+ }
193
+ }
194
+ }
195
+ },
196
+ "transitions": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "object",
200
+ "additionalProperties": false,
201
+ "required": [
202
+ "from",
203
+ "to"
204
+ ],
205
+ "properties": {
206
+ "id": {
207
+ "$ref": "common.schema.json#/$defs/id"
208
+ },
209
+ "from": {
210
+ "$ref": "common.schema.json#/$defs/id"
211
+ },
212
+ "to": {
213
+ "$ref": "common.schema.json#/$defs/id"
214
+ },
215
+ "label": {
216
+ "type": "string"
217
+ },
218
+ "note": {
219
+ "type": "string"
220
+ },
221
+ "variant": {
222
+ "$ref": "common.schema.json#/$defs/variant"
223
+ },
224
+ "route": {
225
+ "enum": [
226
+ "auto",
227
+ "straight",
228
+ "drop",
229
+ "bottom-channel",
230
+ "top-channel",
231
+ "right-channel",
232
+ "left-channel"
233
+ ]
234
+ },
235
+ "fromSide": {
236
+ "$ref": "common.schema.json#/$defs/side"
237
+ },
238
+ "toSide": {
239
+ "$ref": "common.schema.json#/$defs/side"
240
+ },
241
+ "channelX": {
242
+ "type": "number"
243
+ },
244
+ "channelY": {
245
+ "type": "number"
246
+ },
247
+ "cornerRadius": {
248
+ "type": "number",
249
+ "minimum": 0
250
+ },
251
+ "labelAt": {
252
+ "$ref": "common.schema.json#/$defs/point"
253
+ },
254
+ "labelDx": {
255
+ "type": "number"
256
+ },
257
+ "labelDy": {
258
+ "type": "number"
259
+ },
260
+ "labelSegment": {
261
+ "type": "integer",
262
+ "minimum": 0
263
+ },
264
+ "via": {
265
+ "type": "array",
266
+ "items": {
267
+ "$ref": "common.schema.json#/$defs/point"
268
+ }
269
+ },
270
+ "width": {
271
+ "$ref": "common.schema.json#/$defs/relationshipWidth"
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "cards": {
277
+ "$ref": "common.schema.json#/$defs/cards"
278
+ }
279
+ }
280
+ }
@@ -0,0 +1,234 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/tt-a1i/archify/schemas/sequence.schema.json",
4
+ "title": "Archify Sequence Diagram",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "diagram_type",
10
+ "meta",
11
+ "participants",
12
+ "messages"
13
+ ],
14
+ "properties": {
15
+ "schema_version": {
16
+ "const": 1
17
+ },
18
+ "diagram_type": {
19
+ "const": "sequence"
20
+ },
21
+ "meta": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": [
25
+ "title",
26
+ "output"
27
+ ],
28
+ "properties": {
29
+ "title": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "locale": {
34
+ "$ref": "common.schema.json#/$defs/locale"
35
+ },
36
+ "translations": {
37
+ "$ref": "common.schema.json#/$defs/translations"
38
+ },
39
+ "subtitle": {
40
+ "type": "string"
41
+ },
42
+ "output": {
43
+ "$ref": "common.schema.json#/$defs/portableOutputPath"
44
+ },
45
+ "animation": {
46
+ "$ref": "common.schema.json#/$defs/animation"
47
+ },
48
+ "visual_preset": {
49
+ "$ref": "common.schema.json#/$defs/visualPreset"
50
+ },
51
+ "quality_profile": {
52
+ "$ref": "common.schema.json#/$defs/qualityProfile"
53
+ },
54
+ "column_fit": {
55
+ "description": "Horizontal participant layout. Omit this field or use fixed for the stable 86px boxes and 108px gap. Use spread when a wide viewBox would leave unused horizontal space or meaningful participant labels do not fit the fixed boxes; spread derives wider boxes and gaps from the viewBox without changing participant order or message semantics.",
56
+ "enum": ["fixed", "spread"]
57
+ },
58
+ "repository": {
59
+ "$ref": "common.schema.json#/$defs/repository"
60
+ },
61
+ "views": {
62
+ "$ref": "common.schema.json#/$defs/guidedViews"
63
+ },
64
+ "legend": {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "properties": {
68
+ "mode": { "$ref": "common.schema.json#/$defs/legendMode" },
69
+ "entries": {
70
+ "type": "object",
71
+ "additionalProperties": false,
72
+ "properties": {
73
+ "default": { "$ref": "common.schema.json#/$defs/legendEntry" },
74
+ "emphasis": { "$ref": "common.schema.json#/$defs/legendEntry" },
75
+ "security": { "$ref": "common.schema.json#/$defs/legendEntry" },
76
+ "dashed": { "$ref": "common.schema.json#/$defs/legendEntry" },
77
+ "return": { "$ref": "common.schema.json#/$defs/legendEntry" }
78
+ }
79
+ }
80
+ }
81
+ },
82
+ "viewBox": {
83
+ "type": "array",
84
+ "prefixItems": [
85
+ {
86
+ "type": "number",
87
+ "minimum": 480
88
+ },
89
+ {
90
+ "type": "number",
91
+ "minimum": 480
92
+ }
93
+ ],
94
+ "items": false,
95
+ "minItems": 2,
96
+ "maxItems": 2
97
+ }
98
+ }
99
+ },
100
+ "participants": {
101
+ "type": "array",
102
+ "minItems": 2,
103
+ "items": {
104
+ "type": "object",
105
+ "additionalProperties": false,
106
+ "required": [
107
+ "id",
108
+ "type",
109
+ "label"
110
+ ],
111
+ "properties": {
112
+ "id": {
113
+ "$ref": "common.schema.json#/$defs/id"
114
+ },
115
+ "type": {
116
+ "$ref": "common.schema.json#/$defs/componentType"
117
+ },
118
+ "label": {
119
+ "type": "string",
120
+ "minLength": 1
121
+ },
122
+ "sublabel": {
123
+ "type": "string"
124
+ },
125
+ "icon": { "$ref": "common.schema.json#/$defs/nodeIcon" },
126
+ "brand": {
127
+ "$ref": "common.schema.json#/$defs/brandMark"
128
+ },
129
+ "sources": {
130
+ "$ref": "common.schema.json#/$defs/sourceReferences"
131
+ }
132
+ }
133
+ }
134
+ },
135
+ "segments": {
136
+ "type": "array",
137
+ "items": {
138
+ "type": "object",
139
+ "additionalProperties": false,
140
+ "required": [
141
+ "from",
142
+ "to",
143
+ "label"
144
+ ],
145
+ "properties": {
146
+ "from": {
147
+ "type": "number"
148
+ },
149
+ "to": {
150
+ "type": "number"
151
+ },
152
+ "label": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "messages": {
160
+ "type": "array",
161
+ "minItems": 1,
162
+ "items": {
163
+ "type": "object",
164
+ "additionalProperties": false,
165
+ "required": [
166
+ "from",
167
+ "to",
168
+ "y",
169
+ "label"
170
+ ],
171
+ "properties": {
172
+ "id": {
173
+ "$ref": "common.schema.json#/$defs/id"
174
+ },
175
+ "from": {
176
+ "$ref": "common.schema.json#/$defs/id"
177
+ },
178
+ "to": {
179
+ "$ref": "common.schema.json#/$defs/id"
180
+ },
181
+ "y": {
182
+ "type": "number",
183
+ "minimum": 160
184
+ },
185
+ "label": {
186
+ "type": "string",
187
+ "minLength": 1
188
+ },
189
+ "variant": {
190
+ "enum": [
191
+ "default",
192
+ "emphasis",
193
+ "security",
194
+ "dashed",
195
+ "return"
196
+ ]
197
+ },
198
+ "note": {
199
+ "type": "string"
200
+ }
201
+ }
202
+ }
203
+ },
204
+ "activations": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "object",
208
+ "additionalProperties": false,
209
+ "required": [
210
+ "participant",
211
+ "from",
212
+ "to"
213
+ ],
214
+ "properties": {
215
+ "participant": {
216
+ "$ref": "common.schema.json#/$defs/id"
217
+ },
218
+ "from": {
219
+ "type": "number"
220
+ },
221
+ "to": {
222
+ "type": "number"
223
+ },
224
+ "type": {
225
+ "$ref": "common.schema.json#/$defs/componentType"
226
+ }
227
+ }
228
+ }
229
+ },
230
+ "cards": {
231
+ "$ref": "common.schema.json#/$defs/cards"
232
+ }
233
+ }
234
+ }