@inf-monkeys-tech/monkeys 1.0.0

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 (188) hide show
  1. package/README.md +38 -0
  2. package/lib/contracts/artifact.d.ts +112 -0
  3. package/lib/contracts/artifact.d.ts.map +1 -0
  4. package/lib/contracts/artifact.js +60 -0
  5. package/lib/contracts/artifact.js.map +1 -0
  6. package/lib/contracts/capability.d.ts +347 -0
  7. package/lib/contracts/capability.d.ts.map +1 -0
  8. package/lib/contracts/capability.js +135 -0
  9. package/lib/contracts/capability.js.map +1 -0
  10. package/lib/contracts/common.d.ts +32 -0
  11. package/lib/contracts/common.d.ts.map +1 -0
  12. package/lib/contracts/common.js +46 -0
  13. package/lib/contracts/common.js.map +1 -0
  14. package/lib/contracts/context.d.ts +213 -0
  15. package/lib/contracts/context.d.ts.map +1 -0
  16. package/lib/contracts/context.js +96 -0
  17. package/lib/contracts/context.js.map +1 -0
  18. package/lib/contracts/continuity.d.ts +142 -0
  19. package/lib/contracts/continuity.d.ts.map +1 -0
  20. package/lib/contracts/continuity.js +66 -0
  21. package/lib/contracts/continuity.js.map +1 -0
  22. package/lib/contracts/data.d.ts +135 -0
  23. package/lib/contracts/data.d.ts.map +1 -0
  24. package/lib/contracts/data.js +85 -0
  25. package/lib/contracts/data.js.map +1 -0
  26. package/lib/contracts/dtcg-format.schema.json +1759 -0
  27. package/lib/contracts/index.d.ts +14 -0
  28. package/lib/contracts/index.d.ts.map +1 -0
  29. package/lib/contracts/index.js +30 -0
  30. package/lib/contracts/index.js.map +1 -0
  31. package/lib/contracts/page.d.ts +482 -0
  32. package/lib/contracts/page.d.ts.map +1 -0
  33. package/lib/contracts/page.js +307 -0
  34. package/lib/contracts/page.js.map +1 -0
  35. package/lib/contracts/render.d.ts +1032 -0
  36. package/lib/contracts/render.d.ts.map +1 -0
  37. package/lib/contracts/render.js +386 -0
  38. package/lib/contracts/render.js.map +1 -0
  39. package/lib/contracts/semantic.d.ts +477 -0
  40. package/lib/contracts/semantic.d.ts.map +1 -0
  41. package/lib/contracts/semantic.js +111 -0
  42. package/lib/contracts/semantic.js.map +1 -0
  43. package/lib/contracts/tenant.d.ts +2495 -0
  44. package/lib/contracts/tenant.d.ts.map +1 -0
  45. package/lib/contracts/tenant.js +573 -0
  46. package/lib/contracts/tenant.js.map +1 -0
  47. package/lib/contracts/theme.d.ts +30 -0
  48. package/lib/contracts/theme.d.ts.map +1 -0
  49. package/lib/contracts/theme.js +55 -0
  50. package/lib/contracts/theme.js.map +1 -0
  51. package/lib/contracts/trend.d.ts +577 -0
  52. package/lib/contracts/trend.d.ts.map +1 -0
  53. package/lib/contracts/trend.js +276 -0
  54. package/lib/contracts/trend.js.map +1 -0
  55. package/lib/contracts/workflow-definition.d.ts +661 -0
  56. package/lib/contracts/workflow-definition.d.ts.map +1 -0
  57. package/lib/contracts/workflow-definition.js +337 -0
  58. package/lib/contracts/workflow-definition.js.map +1 -0
  59. package/lib/index.d.ts +7 -0
  60. package/lib/index.d.ts.map +1 -0
  61. package/lib/index.js +34 -0
  62. package/lib/index.js.map +1 -0
  63. package/lib/json-schema/agent-runtime-event.schema.json +104 -0
  64. package/lib/json-schema/application-handoff.schema.json +377 -0
  65. package/lib/json-schema/application-run.schema.json +302 -0
  66. package/lib/json-schema/artifact-manifest.schema.json +375 -0
  67. package/lib/json-schema/body-relation-record.schema.json +177 -0
  68. package/lib/json-schema/brand-body.schema.json +140 -0
  69. package/lib/json-schema/brand-genetics-profile.schema.json +169 -0
  70. package/lib/json-schema/capability-manifest.schema.json +412 -0
  71. package/lib/json-schema/capability-registry.schema.json +474 -0
  72. package/lib/json-schema/change-impact-graph.schema.json +274 -0
  73. package/lib/json-schema/completion-event.schema.json +321 -0
  74. package/lib/json-schema/completion-header.schema.json +276 -0
  75. package/lib/json-schema/concept-definition.schema.json +101 -0
  76. package/lib/json-schema/conductor-workflow-definition.schema.json +404 -0
  77. package/lib/json-schema/data-continuity-envelope.schema.json +269 -0
  78. package/lib/json-schema/domain-command-definition.schema.json +121 -0
  79. package/lib/json-schema/domain-command.schema.json +204 -0
  80. package/lib/json-schema/domain-event.schema.json +161 -0
  81. package/lib/json-schema/execution-link.schema.json +190 -0
  82. package/lib/json-schema/expiring-access-grant.schema.json +127 -0
  83. package/lib/json-schema/hotword-body.schema.json +186 -0
  84. package/lib/json-schema/index.json +56 -0
  85. package/lib/json-schema/lineage-record.schema.json +370 -0
  86. package/lib/json-schema/ontology-definition.schema.json +91 -0
  87. package/lib/json-schema/output-record.schema.json +157 -0
  88. package/lib/json-schema/overlay-node.schema.json +892 -0
  89. package/lib/json-schema/page-definition.schema.json +527 -0
  90. package/lib/json-schema/page-runtime-descriptor.schema.json +720 -0
  91. package/lib/json-schema/page-runtime-projection.schema.json +464 -0
  92. package/lib/json-schema/product-body.schema.json +178 -0
  93. package/lib/json-schema/product-declaration.schema.json +1410 -0
  94. package/lib/json-schema/projection-spec.schema.json +151 -0
  95. package/lib/json-schema/radar-action-record.schema.json +144 -0
  96. package/lib/json-schema/radar-analysis-run.schema.json +424 -0
  97. package/lib/json-schema/radar-opportunity-matrix.schema.json +155 -0
  98. package/lib/json-schema/radar-panorama.schema.json +235 -0
  99. package/lib/json-schema/radar-query-body.schema.json +101 -0
  100. package/lib/json-schema/radar-score-model-body.schema.json +88 -0
  101. package/lib/json-schema/radar-score-projection.schema.json +184 -0
  102. package/lib/json-schema/radar-selection.schema.json +134 -0
  103. package/lib/json-schema/radar-writeback-record.schema.json +124 -0
  104. package/lib/json-schema/render-node.schema.json +776 -0
  105. package/lib/json-schema/render-tree.schema.json +815 -0
  106. package/lib/json-schema/request-scope.schema.json +193 -0
  107. package/lib/json-schema/saved-radar-query.schema.json +123 -0
  108. package/lib/json-schema/tenant-product-config.schema.json +2720 -0
  109. package/lib/json-schema/tenant-runtime-config.schema.json +2654 -0
  110. package/lib/json-schema/theme-tokens.schema.json +1836 -0
  111. package/lib/json-schema/trend-ingest-run.schema.json +73 -0
  112. package/lib/json-schema/trend-metric-snapshot.schema.json +126 -0
  113. package/lib/json-schema/trend-source-record.schema.json +206 -0
  114. package/lib/json-schema/view-provider-descriptor.schema.json +317 -0
  115. package/lib/json-schema/workflow-definition.schema.json +2174 -0
  116. package/lib/runtime/capability-registry.d.ts +28 -0
  117. package/lib/runtime/capability-registry.d.ts.map +1 -0
  118. package/lib/runtime/capability-registry.js +147 -0
  119. package/lib/runtime/capability-registry.js.map +1 -0
  120. package/lib/runtime/declaration-compiler.d.ts +44 -0
  121. package/lib/runtime/declaration-compiler.d.ts.map +1 -0
  122. package/lib/runtime/declaration-compiler.js +323 -0
  123. package/lib/runtime/declaration-compiler.js.map +1 -0
  124. package/lib/runtime/index.d.ts +12 -0
  125. package/lib/runtime/index.d.ts.map +1 -0
  126. package/lib/runtime/index.js +28 -0
  127. package/lib/runtime/index.js.map +1 -0
  128. package/lib/runtime/page-compiler.d.ts +36 -0
  129. package/lib/runtime/page-compiler.d.ts.map +1 -0
  130. package/lib/runtime/page-compiler.js +220 -0
  131. package/lib/runtime/page-compiler.js.map +1 -0
  132. package/lib/runtime/product-runtime.d.ts +37 -0
  133. package/lib/runtime/product-runtime.d.ts.map +1 -0
  134. package/lib/runtime/product-runtime.js +80 -0
  135. package/lib/runtime/product-runtime.js.map +1 -0
  136. package/lib/runtime/render-tree-compiler.d.ts +11 -0
  137. package/lib/runtime/render-tree-compiler.d.ts.map +1 -0
  138. package/lib/runtime/render-tree-compiler.js +85 -0
  139. package/lib/runtime/render-tree-compiler.js.map +1 -0
  140. package/lib/runtime/tenant-config.d.ts +13 -0
  141. package/lib/runtime/tenant-config.d.ts.map +1 -0
  142. package/lib/runtime/tenant-config.js +31 -0
  143. package/lib/runtime/tenant-config.js.map +1 -0
  144. package/lib/runtime/tenant-runtime-bindings.d.ts +21 -0
  145. package/lib/runtime/tenant-runtime-bindings.d.ts.map +1 -0
  146. package/lib/runtime/tenant-runtime-bindings.js +50 -0
  147. package/lib/runtime/tenant-runtime-bindings.js.map +1 -0
  148. package/lib/runtime/theme-tokens.d.ts +2 -0
  149. package/lib/runtime/theme-tokens.d.ts.map +1 -0
  150. package/lib/runtime/theme-tokens.js +13 -0
  151. package/lib/runtime/theme-tokens.js.map +1 -0
  152. package/lib/runtime/view-provider-registry.d.ts +23 -0
  153. package/lib/runtime/view-provider-registry.d.ts.map +1 -0
  154. package/lib/runtime/view-provider-registry.js +150 -0
  155. package/lib/runtime/view-provider-registry.js.map +1 -0
  156. package/lib/runtime/view-render-model.d.ts +28 -0
  157. package/lib/runtime/view-render-model.d.ts.map +1 -0
  158. package/lib/runtime/view-render-model.js +125 -0
  159. package/lib/runtime/view-render-model.js.map +1 -0
  160. package/lib/runtime/workflow-compiler.d.ts +29 -0
  161. package/lib/runtime/workflow-compiler.d.ts.map +1 -0
  162. package/lib/runtime/workflow-compiler.js +100 -0
  163. package/lib/runtime/workflow-compiler.js.map +1 -0
  164. package/lib/schemas/index.d.ts +4461 -0
  165. package/lib/schemas/index.d.ts.map +1 -0
  166. package/lib/schemas/index.js +187 -0
  167. package/lib/schemas/index.js.map +1 -0
  168. package/lib/theme-tokens/core.d.ts +65 -0
  169. package/lib/theme-tokens/core.d.ts.map +1 -0
  170. package/lib/theme-tokens/core.js +490 -0
  171. package/lib/theme-tokens/core.js.map +1 -0
  172. package/lib/types/i18n.d.ts +19 -0
  173. package/lib/types/i18n.d.ts.map +1 -0
  174. package/lib/types/i18n.js +3 -0
  175. package/lib/types/i18n.js.map +1 -0
  176. package/lib/types/index.d.ts +4 -0
  177. package/lib/types/index.d.ts.map +1 -0
  178. package/lib/types/index.js +20 -0
  179. package/lib/types/index.js.map +1 -0
  180. package/lib/types/tool.d.ts +123 -0
  181. package/lib/types/tool.d.ts.map +1 -0
  182. package/lib/types/tool.js +20 -0
  183. package/lib/types/tool.js.map +1 -0
  184. package/lib/types/workflow.d.ts +80 -0
  185. package/lib/types/workflow.d.ts.map +1 -0
  186. package/lib/types/workflow.js +23 -0
  187. package/lib/types/workflow.js.map +1 -0
  188. package/package.json +58 -0
@@ -0,0 +1,1759 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://www.designtokens.org/schemas/2025.10/format.json",
4
+ "title": "DTCG Format Schema",
5
+ "description": "JSON Schema for the Design Tokens Community Group (DTCG) Format specification.",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "format": "uri-reference",
11
+ "description": "URI reference to this JSON schema.",
12
+ "$comment": "$schema is not part of the official DTCG specification."
13
+ },
14
+ "$type": {
15
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/tokenType.json"
16
+ },
17
+ "$description": {
18
+ "type": "string",
19
+ "description": "A plain text description of the group"
20
+ },
21
+ "$extensions": {
22
+ "type": "object",
23
+ "description": "Vendor-specific extensions"
24
+ },
25
+ "$extends": {
26
+ "oneOf": [
27
+ {
28
+ "$ref": "#/definitions/curlyBraceReference"
29
+ },
30
+ {
31
+ "$ref": "#/definitions/jsonPointerReference"
32
+ }
33
+ ],
34
+ "description": "Reference to another group to inherit tokens and properties from"
35
+ },
36
+ "$deprecated": {
37
+ "oneOf": [
38
+ {
39
+ "type": "boolean"
40
+ },
41
+ {
42
+ "type": "string"
43
+ }
44
+ ],
45
+ "description": "Whether this group is deprecated"
46
+ },
47
+ "$root": {
48
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/token.json"
49
+ }
50
+ },
51
+ "patternProperties": {
52
+ "^[^${}.][^{}.]*$": {
53
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json"
54
+ }
55
+ },
56
+ "additionalProperties": false,
57
+ "definitions": {
58
+ "tokenOrGroupName": {
59
+ "title": "Token or Group Name",
60
+ "type": "string",
61
+ "pattern": "^[^${}.][^{}.]*$",
62
+ "description": "Valid token/group names: must not start with $ and must not contain {, }, or ."
63
+ },
64
+ "curlyBraceReference": {
65
+ "title": "Curly Brace Reference",
66
+ "type": "string",
67
+ "pattern": "^\\{[^${}.][^{}.]*(\\.[^${}.][^{}.]*)*\\}$",
68
+ "description": "Curly brace reference (e.g., '{tokenName}' or '{group.nested.token}')"
69
+ },
70
+ "jsonPointerReference": {
71
+ "title": "JSON Pointer Reference",
72
+ "type": "string",
73
+ "pattern": "^#/",
74
+ "format": "json-pointer-uri-fragment",
75
+ "description": "JSON Pointer reference (RFC 6901) to a location in the document (e.g., '#/path/to/target')"
76
+ },
77
+ "jsonPointerReferenceObject": {
78
+ "title": "JSON Pointer Reference Object",
79
+ "type": "object",
80
+ "properties": {
81
+ "$ref": {
82
+ "$ref": "#/definitions/jsonPointerReference"
83
+ }
84
+ },
85
+ "required": ["$ref"],
86
+ "additionalProperties": false,
87
+ "description": "Object containing a JSON Pointer reference for property-level references"
88
+ },
89
+ "tokenValueReference": {
90
+ "title": "Token Value Reference",
91
+ "oneOf": [
92
+ {
93
+ "$ref": "#/definitions/curlyBraceReference"
94
+ },
95
+ {
96
+ "$ref": "#/definitions/jsonPointerReferenceObject"
97
+ }
98
+ ],
99
+ "description": "A reference to a token value using either curly brace syntax or JSON Pointer syntax"
100
+ },
101
+ "https://www.designtokens.org/schemas/2025.10/format/tokenType.json": {
102
+ "$schema": "http://json-schema.org/draft-07/schema#",
103
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/tokenType.json",
104
+ "title": "TokenType",
105
+ "description": "A token type in the DTCG specification",
106
+ "type": "string",
107
+ "enum": [
108
+ "color",
109
+ "dimension",
110
+ "fontFamily",
111
+ "fontWeight",
112
+ "duration",
113
+ "cubicBezier",
114
+ "number",
115
+ "strokeStyle",
116
+ "border",
117
+ "transition",
118
+ "shadow",
119
+ "gradient",
120
+ "typography"
121
+ ]
122
+ },
123
+ "https://www.designtokens.org/schemas/2025.10/format/token.json": {
124
+ "$schema": "http://json-schema.org/draft-07/schema#",
125
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/token.json",
126
+ "title": "Token",
127
+ "description": "A token in the DTCG specification",
128
+ "type": "object",
129
+ "properties": {
130
+ "$value": {
131
+ "description": "The token's value - can be a direct value or a reference to another token using curly brace syntax (e.g., '{token.name}'). Mutually exclusive with $ref."
132
+ },
133
+ "$type": {
134
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/tokenType.json"
135
+ },
136
+ "$ref": {
137
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReference"
138
+ },
139
+ "$description": {
140
+ "type": "string",
141
+ "description": "A plain text description of the token"
142
+ },
143
+ "$extensions": {
144
+ "type": "object",
145
+ "description": "Vendor-specific extensions"
146
+ },
147
+ "$deprecated": {
148
+ "oneOf": [
149
+ {
150
+ "type": "boolean"
151
+ },
152
+ {
153
+ "type": "string"
154
+ }
155
+ ],
156
+ "description": "Whether this token is deprecated"
157
+ }
158
+ },
159
+ "additionalProperties": false,
160
+ "allOf": [
161
+ {
162
+ "description": "Tokens cannot define both $value and $ref; they must choose exactly one form of reference or direct value.",
163
+ "if": {
164
+ "required": ["$value"],
165
+ "properties": {
166
+ "$value": true
167
+ }
168
+ },
169
+ "then": {
170
+ "not": {
171
+ "required": ["$ref"],
172
+ "properties": {
173
+ "$ref": true
174
+ }
175
+ }
176
+ },
177
+ "else": {
178
+ "required": ["$ref"],
179
+ "properties": {
180
+ "$ref": true
181
+ }
182
+ }
183
+ },
184
+ {
185
+ "if": {
186
+ "required": ["$type"],
187
+ "properties": {
188
+ "$type": {
189
+ "const": "color"
190
+ }
191
+ }
192
+ },
193
+ "then": {
194
+ "properties": {
195
+ "$value": {
196
+ "oneOf": [
197
+ {
198
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/color.json"
199
+ },
200
+ {
201
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
202
+ }
203
+ ]
204
+ }
205
+ }
206
+ }
207
+ },
208
+ {
209
+ "if": {
210
+ "required": ["$type"],
211
+ "properties": {
212
+ "$type": {
213
+ "const": "dimension"
214
+ }
215
+ }
216
+ },
217
+ "then": {
218
+ "properties": {
219
+ "$value": {
220
+ "oneOf": [
221
+ {
222
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
223
+ },
224
+ {
225
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
226
+ }
227
+ ]
228
+ }
229
+ }
230
+ }
231
+ },
232
+ {
233
+ "if": {
234
+ "required": ["$type"],
235
+ "properties": {
236
+ "$type": {
237
+ "const": "fontFamily"
238
+ }
239
+ }
240
+ },
241
+ "then": {
242
+ "properties": {
243
+ "$value": {
244
+ "oneOf": [
245
+ {
246
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json"
247
+ },
248
+ {
249
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
250
+ }
251
+ ]
252
+ }
253
+ }
254
+ }
255
+ },
256
+ {
257
+ "if": {
258
+ "required": ["$type"],
259
+ "properties": {
260
+ "$type": {
261
+ "const": "fontWeight"
262
+ }
263
+ }
264
+ },
265
+ "then": {
266
+ "properties": {
267
+ "$value": {
268
+ "oneOf": [
269
+ {
270
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json"
271
+ },
272
+ {
273
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
274
+ }
275
+ ]
276
+ }
277
+ }
278
+ }
279
+ },
280
+ {
281
+ "if": {
282
+ "required": ["$type"],
283
+ "properties": {
284
+ "$type": {
285
+ "const": "duration"
286
+ }
287
+ }
288
+ },
289
+ "then": {
290
+ "properties": {
291
+ "$value": {
292
+ "oneOf": [
293
+ {
294
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/duration.json"
295
+ },
296
+ {
297
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
298
+ }
299
+ ]
300
+ }
301
+ }
302
+ }
303
+ },
304
+ {
305
+ "if": {
306
+ "required": ["$type"],
307
+ "properties": {
308
+ "$type": {
309
+ "const": "cubicBezier"
310
+ }
311
+ }
312
+ },
313
+ "then": {
314
+ "properties": {
315
+ "$value": {
316
+ "oneOf": [
317
+ {
318
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json"
319
+ },
320
+ {
321
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
322
+ }
323
+ ]
324
+ }
325
+ }
326
+ }
327
+ },
328
+ {
329
+ "if": {
330
+ "required": ["$type"],
331
+ "properties": {
332
+ "$type": {
333
+ "const": "number"
334
+ }
335
+ }
336
+ },
337
+ "then": {
338
+ "properties": {
339
+ "$value": {
340
+ "oneOf": [
341
+ {
342
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/number.json"
343
+ },
344
+ {
345
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
346
+ }
347
+ ]
348
+ }
349
+ }
350
+ }
351
+ },
352
+ {
353
+ "if": {
354
+ "required": ["$type"],
355
+ "properties": {
356
+ "$type": {
357
+ "const": "strokeStyle"
358
+ }
359
+ }
360
+ },
361
+ "then": {
362
+ "properties": {
363
+ "$value": {
364
+ "oneOf": [
365
+ {
366
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json"
367
+ },
368
+ {
369
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
370
+ }
371
+ ]
372
+ }
373
+ }
374
+ }
375
+ },
376
+ {
377
+ "if": {
378
+ "required": ["$type"],
379
+ "properties": {
380
+ "$type": {
381
+ "const": "border"
382
+ }
383
+ }
384
+ },
385
+ "then": {
386
+ "properties": {
387
+ "$value": {
388
+ "oneOf": [
389
+ {
390
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/border.json"
391
+ },
392
+ {
393
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
394
+ }
395
+ ]
396
+ }
397
+ }
398
+ }
399
+ },
400
+ {
401
+ "if": {
402
+ "required": ["$type"],
403
+ "properties": {
404
+ "$type": {
405
+ "const": "transition"
406
+ }
407
+ }
408
+ },
409
+ "then": {
410
+ "properties": {
411
+ "$value": {
412
+ "oneOf": [
413
+ {
414
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/transition.json"
415
+ },
416
+ {
417
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
418
+ }
419
+ ]
420
+ }
421
+ }
422
+ }
423
+ },
424
+ {
425
+ "if": {
426
+ "required": ["$type"],
427
+ "properties": {
428
+ "$type": {
429
+ "const": "shadow"
430
+ }
431
+ }
432
+ },
433
+ "then": {
434
+ "properties": {
435
+ "$value": {
436
+ "oneOf": [
437
+ {
438
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/shadow.json"
439
+ },
440
+ {
441
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
442
+ }
443
+ ]
444
+ }
445
+ }
446
+ }
447
+ },
448
+ {
449
+ "if": {
450
+ "required": ["$type"],
451
+ "properties": {
452
+ "$type": {
453
+ "const": "gradient"
454
+ }
455
+ }
456
+ },
457
+ "then": {
458
+ "properties": {
459
+ "$value": {
460
+ "oneOf": [
461
+ {
462
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/gradient.json"
463
+ },
464
+ {
465
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
466
+ }
467
+ ]
468
+ }
469
+ }
470
+ }
471
+ },
472
+ {
473
+ "if": {
474
+ "required": ["$type"],
475
+ "properties": {
476
+ "$type": {
477
+ "const": "typography"
478
+ }
479
+ }
480
+ },
481
+ "then": {
482
+ "properties": {
483
+ "$value": {
484
+ "oneOf": [
485
+ {
486
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/typography.json"
487
+ },
488
+ {
489
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
490
+ }
491
+ ]
492
+ }
493
+ }
494
+ }
495
+ },
496
+ {
497
+ "if": {
498
+ "allOf": [
499
+ {
500
+ "not": {
501
+ "required": ["$type"]
502
+ }
503
+ },
504
+ {
505
+ "required": ["$value"]
506
+ },
507
+ {
508
+ "properties": {
509
+ "$value": {
510
+ "not": {
511
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
512
+ }
513
+ }
514
+ }
515
+ }
516
+ ]
517
+ },
518
+ "then": {
519
+ "properties": {
520
+ "$value": {
521
+ "oneOf": [
522
+ {
523
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/color.json"
524
+ },
525
+ {
526
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
527
+ },
528
+ {
529
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json"
530
+ },
531
+ {
532
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/duration.json"
533
+ },
534
+ {
535
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json"
536
+ },
537
+ {
538
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json"
539
+ },
540
+ {
541
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/border.json"
542
+ },
543
+ {
544
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/transition.json"
545
+ },
546
+ {
547
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/shadow.json"
548
+ },
549
+ {
550
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/gradient.json"
551
+ },
552
+ {
553
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/typography.json"
554
+ },
555
+ {
556
+ "anyOf": [
557
+ {
558
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/number.json"
559
+ },
560
+ {
561
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json"
562
+ }
563
+ ]
564
+ }
565
+ ]
566
+ }
567
+ }
568
+ }
569
+ }
570
+ ]
571
+ },
572
+ "https://www.designtokens.org/schemas/2025.10/format/values/color.json": {
573
+ "$schema": "http://json-schema.org/draft-07/schema#",
574
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/color.json",
575
+ "title": "Color Value",
576
+ "description": "Value schema for color type tokens. Represents a color in a specific color space.",
577
+ "type": "object",
578
+ "properties": {
579
+ "colorSpace": {
580
+ "description": "The color space or color model used to represent the color",
581
+ "oneOf": [
582
+ {
583
+ "type": "string",
584
+ "enum": [
585
+ "srgb",
586
+ "srgb-linear",
587
+ "hsl",
588
+ "hwb",
589
+ "lab",
590
+ "lch",
591
+ "oklab",
592
+ "oklch",
593
+ "display-p3",
594
+ "a98-rgb",
595
+ "prophoto-rgb",
596
+ "rec2020",
597
+ "xyz-d65",
598
+ "xyz-d50"
599
+ ]
600
+ },
601
+ {
602
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
603
+ }
604
+ ]
605
+ },
606
+ "components": {
607
+ "description": "Array of color components. The number and meaning of components depend on the color space. Each component can be a number or the 'none' keyword.",
608
+ "oneOf": [
609
+ {
610
+ "type": "array"
611
+ },
612
+ {
613
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
614
+ }
615
+ ]
616
+ },
617
+ "alpha": {
618
+ "description": "The alpha (transparency) value of the color. 0 is fully transparent, 1 is fully opaque. If omitted, defaults to 1.",
619
+ "oneOf": [
620
+ {
621
+ "type": "number",
622
+ "minimum": 0,
623
+ "maximum": 1
624
+ },
625
+ {
626
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
627
+ }
628
+ ]
629
+ },
630
+ "hex": {
631
+ "description": "Optional fallback value in 6-digit CSS hex color notation (e.g., '#ff00ff'). Must be 6 digits to avoid conflicts with the alpha value.",
632
+ "$comment": "Only JSON Pointer references (not curly brace references) are allowed for hex because no string token type exists in the specification that could be referenced with curly braces.",
633
+ "oneOf": [
634
+ {
635
+ "type": "string",
636
+ "pattern": "^#[0-9a-fA-F]{6}$"
637
+ },
638
+ {
639
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
640
+ }
641
+ ]
642
+ }
643
+ },
644
+ "required": ["colorSpace", "components"],
645
+ "additionalProperties": false,
646
+ "definitions": {
647
+ "zeroToOneComponent": {
648
+ "title": "Zero to One Component",
649
+ "description": "A color component normalized to the range [0-1] (e.g., RGB values, XYZ values)",
650
+ "oneOf": [
651
+ {
652
+ "type": "number",
653
+ "minimum": 0,
654
+ "maximum": 1
655
+ },
656
+ {
657
+ "type": "string",
658
+ "const": "none"
659
+ },
660
+ {
661
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
662
+ }
663
+ ]
664
+ },
665
+ "hueComponent": {
666
+ "title": "Hue Component",
667
+ "description": "Hue angle from 0 up to (but not including) 360 degrees",
668
+ "oneOf": [
669
+ {
670
+ "type": "number",
671
+ "minimum": 0,
672
+ "exclusiveMaximum": 360
673
+ },
674
+ {
675
+ "type": "string",
676
+ "const": "none"
677
+ },
678
+ {
679
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
680
+ }
681
+ ]
682
+ },
683
+ "percentageComponent": {
684
+ "title": "Percentage Component",
685
+ "description": "Percentage value from 0 to 100",
686
+ "oneOf": [
687
+ {
688
+ "type": "number",
689
+ "minimum": 0,
690
+ "maximum": 100
691
+ },
692
+ {
693
+ "type": "string",
694
+ "const": "none"
695
+ },
696
+ {
697
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
698
+ }
699
+ ]
700
+ },
701
+ "chromaComponent": {
702
+ "title": "Chroma Component",
703
+ "description": "Chroma value from 0 to infinity",
704
+ "oneOf": [
705
+ {
706
+ "type": "number",
707
+ "minimum": 0
708
+ },
709
+ {
710
+ "type": "string",
711
+ "const": "none"
712
+ },
713
+ {
714
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
715
+ }
716
+ ]
717
+ },
718
+ "unboundedComponent": {
719
+ "title": "Unbounded Component",
720
+ "description": "A color component with no numeric bounds (e.g., A and B in LAB/OKLAB color spaces)",
721
+ "oneOf": [
722
+ {
723
+ "type": "number"
724
+ },
725
+ {
726
+ "type": "string",
727
+ "const": "none"
728
+ },
729
+ {
730
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
731
+ }
732
+ ]
733
+ },
734
+ "rgbComponents": {
735
+ "title": "RGB Components",
736
+ "description": "Array of RGB color components [Red, Green, Blue], each normalized to the range [0-1]",
737
+ "type": "array",
738
+ "minItems": 3,
739
+ "maxItems": 3,
740
+ "items": [
741
+ {
742
+ "$ref": "#/definitions/zeroToOneComponent"
743
+ },
744
+ {
745
+ "$ref": "#/definitions/zeroToOneComponent"
746
+ },
747
+ {
748
+ "$ref": "#/definitions/zeroToOneComponent"
749
+ }
750
+ ]
751
+ },
752
+ "xyzComponents": {
753
+ "title": "XYZ Components",
754
+ "description": "Array of XYZ color components [X, Y, Z], each normalized to the range [0-1]",
755
+ "type": "array",
756
+ "minItems": 3,
757
+ "maxItems": 3,
758
+ "items": [
759
+ {
760
+ "$ref": "#/definitions/zeroToOneComponent"
761
+ },
762
+ {
763
+ "$ref": "#/definitions/zeroToOneComponent"
764
+ },
765
+ {
766
+ "$ref": "#/definitions/zeroToOneComponent"
767
+ }
768
+ ]
769
+ }
770
+ },
771
+ "allOf": [
772
+ {
773
+ "if": {
774
+ "properties": {
775
+ "colorSpace": {
776
+ "const": "srgb"
777
+ },
778
+ "components": {
779
+ "type": "array"
780
+ }
781
+ }
782
+ },
783
+ "then": {
784
+ "properties": {
785
+ "components": {
786
+ "$ref": "#/definitions/rgbComponents"
787
+ }
788
+ }
789
+ }
790
+ },
791
+ {
792
+ "if": {
793
+ "properties": {
794
+ "colorSpace": {
795
+ "const": "srgb-linear"
796
+ },
797
+ "components": {
798
+ "type": "array"
799
+ }
800
+ }
801
+ },
802
+ "then": {
803
+ "properties": {
804
+ "components": {
805
+ "$ref": "#/definitions/rgbComponents"
806
+ }
807
+ }
808
+ }
809
+ },
810
+ {
811
+ "if": {
812
+ "properties": {
813
+ "colorSpace": {
814
+ "const": "display-p3"
815
+ },
816
+ "components": {
817
+ "type": "array"
818
+ }
819
+ }
820
+ },
821
+ "then": {
822
+ "properties": {
823
+ "components": {
824
+ "$ref": "#/definitions/rgbComponents"
825
+ }
826
+ }
827
+ }
828
+ },
829
+ {
830
+ "if": {
831
+ "properties": {
832
+ "colorSpace": {
833
+ "const": "a98-rgb"
834
+ },
835
+ "components": {
836
+ "type": "array"
837
+ }
838
+ }
839
+ },
840
+ "then": {
841
+ "properties": {
842
+ "components": {
843
+ "$ref": "#/definitions/rgbComponents"
844
+ }
845
+ }
846
+ }
847
+ },
848
+ {
849
+ "if": {
850
+ "properties": {
851
+ "colorSpace": {
852
+ "const": "prophoto-rgb"
853
+ },
854
+ "components": {
855
+ "type": "array"
856
+ }
857
+ }
858
+ },
859
+ "then": {
860
+ "properties": {
861
+ "components": {
862
+ "$ref": "#/definitions/rgbComponents"
863
+ }
864
+ }
865
+ }
866
+ },
867
+ {
868
+ "if": {
869
+ "properties": {
870
+ "colorSpace": {
871
+ "const": "rec2020"
872
+ },
873
+ "components": {
874
+ "type": "array"
875
+ }
876
+ }
877
+ },
878
+ "then": {
879
+ "properties": {
880
+ "components": {
881
+ "$ref": "#/definitions/rgbComponents"
882
+ }
883
+ }
884
+ }
885
+ },
886
+ {
887
+ "if": {
888
+ "properties": {
889
+ "colorSpace": {
890
+ "const": "xyz-d65"
891
+ },
892
+ "components": {
893
+ "type": "array"
894
+ }
895
+ }
896
+ },
897
+ "then": {
898
+ "properties": {
899
+ "components": {
900
+ "$ref": "#/definitions/xyzComponents"
901
+ }
902
+ }
903
+ }
904
+ },
905
+ {
906
+ "if": {
907
+ "properties": {
908
+ "colorSpace": {
909
+ "const": "xyz-d50"
910
+ },
911
+ "components": {
912
+ "type": "array"
913
+ }
914
+ }
915
+ },
916
+ "then": {
917
+ "properties": {
918
+ "components": {
919
+ "$ref": "#/definitions/xyzComponents"
920
+ }
921
+ }
922
+ }
923
+ },
924
+ {
925
+ "if": {
926
+ "properties": {
927
+ "colorSpace": {
928
+ "const": "hsl"
929
+ },
930
+ "components": {
931
+ "type": "array"
932
+ }
933
+ }
934
+ },
935
+ "then": {
936
+ "properties": {
937
+ "components": {
938
+ "type": "array",
939
+ "minItems": 3,
940
+ "maxItems": 3,
941
+ "items": [
942
+ {
943
+ "$ref": "#/definitions/hueComponent"
944
+ },
945
+ {
946
+ "$ref": "#/definitions/percentageComponent"
947
+ },
948
+ {
949
+ "$ref": "#/definitions/percentageComponent"
950
+ }
951
+ ]
952
+ }
953
+ }
954
+ }
955
+ },
956
+ {
957
+ "if": {
958
+ "properties": {
959
+ "colorSpace": {
960
+ "const": "hwb"
961
+ },
962
+ "components": {
963
+ "type": "array"
964
+ }
965
+ }
966
+ },
967
+ "then": {
968
+ "properties": {
969
+ "components": {
970
+ "type": "array",
971
+ "minItems": 3,
972
+ "maxItems": 3,
973
+ "items": [
974
+ {
975
+ "$ref": "#/definitions/hueComponent"
976
+ },
977
+ {
978
+ "$ref": "#/definitions/percentageComponent"
979
+ },
980
+ {
981
+ "$ref": "#/definitions/percentageComponent"
982
+ }
983
+ ]
984
+ }
985
+ }
986
+ }
987
+ },
988
+ {
989
+ "if": {
990
+ "properties": {
991
+ "colorSpace": {
992
+ "const": "lab"
993
+ },
994
+ "components": {
995
+ "type": "array"
996
+ }
997
+ }
998
+ },
999
+ "then": {
1000
+ "properties": {
1001
+ "components": {
1002
+ "type": "array",
1003
+ "minItems": 3,
1004
+ "maxItems": 3,
1005
+ "items": [
1006
+ {
1007
+ "$ref": "#/definitions/percentageComponent"
1008
+ },
1009
+ {
1010
+ "$ref": "#/definitions/unboundedComponent"
1011
+ },
1012
+ {
1013
+ "$ref": "#/definitions/unboundedComponent"
1014
+ }
1015
+ ]
1016
+ }
1017
+ }
1018
+ }
1019
+ },
1020
+ {
1021
+ "if": {
1022
+ "properties": {
1023
+ "colorSpace": {
1024
+ "const": "lch"
1025
+ },
1026
+ "components": {
1027
+ "type": "array"
1028
+ }
1029
+ }
1030
+ },
1031
+ "then": {
1032
+ "properties": {
1033
+ "components": {
1034
+ "type": "array",
1035
+ "minItems": 3,
1036
+ "maxItems": 3,
1037
+ "items": [
1038
+ {
1039
+ "$ref": "#/definitions/percentageComponent"
1040
+ },
1041
+ {
1042
+ "$ref": "#/definitions/chromaComponent"
1043
+ },
1044
+ {
1045
+ "$ref": "#/definitions/hueComponent"
1046
+ }
1047
+ ]
1048
+ }
1049
+ }
1050
+ }
1051
+ },
1052
+ {
1053
+ "if": {
1054
+ "properties": {
1055
+ "colorSpace": {
1056
+ "const": "oklab"
1057
+ },
1058
+ "components": {
1059
+ "type": "array"
1060
+ }
1061
+ }
1062
+ },
1063
+ "then": {
1064
+ "properties": {
1065
+ "components": {
1066
+ "type": "array",
1067
+ "minItems": 3,
1068
+ "maxItems": 3,
1069
+ "items": [
1070
+ {
1071
+ "$ref": "#/definitions/zeroToOneComponent"
1072
+ },
1073
+ {
1074
+ "$ref": "#/definitions/unboundedComponent"
1075
+ },
1076
+ {
1077
+ "$ref": "#/definitions/unboundedComponent"
1078
+ }
1079
+ ]
1080
+ }
1081
+ }
1082
+ }
1083
+ },
1084
+ {
1085
+ "if": {
1086
+ "properties": {
1087
+ "colorSpace": {
1088
+ "const": "oklch"
1089
+ },
1090
+ "components": {
1091
+ "type": "array"
1092
+ }
1093
+ }
1094
+ },
1095
+ "then": {
1096
+ "properties": {
1097
+ "components": {
1098
+ "type": "array",
1099
+ "minItems": 3,
1100
+ "maxItems": 3,
1101
+ "items": [
1102
+ {
1103
+ "$ref": "#/definitions/zeroToOneComponent"
1104
+ },
1105
+ {
1106
+ "$ref": "#/definitions/chromaComponent"
1107
+ },
1108
+ {
1109
+ "$ref": "#/definitions/hueComponent"
1110
+ }
1111
+ ]
1112
+ }
1113
+ }
1114
+ }
1115
+ }
1116
+ ]
1117
+ },
1118
+ "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json": {
1119
+ "$schema": "http://json-schema.org/draft-07/schema#",
1120
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json",
1121
+ "title": "Dimension Value",
1122
+ "description": "Value schema for dimension type tokens. Represents an amount of distance in a single dimension in the UI, such as a position, width, height, radius, or thickness.",
1123
+ "type": "object",
1124
+ "properties": {
1125
+ "value": {
1126
+ "description": "An integer or floating-point value representing the numeric value.",
1127
+ "oneOf": [
1128
+ {
1129
+ "type": "number"
1130
+ },
1131
+ {
1132
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1133
+ }
1134
+ ]
1135
+ },
1136
+ "unit": {
1137
+ "description": "Unit of distance. Supported values: 'px' (idealized pixel, equivalent to dp on Android and pt on iOS), 'rem' (multiple of system's default font size).",
1138
+ "oneOf": [
1139
+ {
1140
+ "type": "string",
1141
+ "enum": ["px", "rem"]
1142
+ },
1143
+ {
1144
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1145
+ }
1146
+ ]
1147
+ }
1148
+ },
1149
+ "required": ["value", "unit"],
1150
+ "additionalProperties": false
1151
+ },
1152
+ "https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json": {
1153
+ "$schema": "http://json-schema.org/draft-07/schema#",
1154
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json",
1155
+ "title": "Font Family Value",
1156
+ "description": "Value schema for fontFamily type tokens. Represents a font name or an array of font names (ordered from most to least preferred).",
1157
+ "oneOf": [
1158
+ {
1159
+ "type": "string",
1160
+ "description": "A single font name",
1161
+ "not": {
1162
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference"
1163
+ }
1164
+ },
1165
+ {
1166
+ "type": "array",
1167
+ "description": "An array of font names, ordered from most to least preferred",
1168
+ "items": {
1169
+ "oneOf": [
1170
+ {
1171
+ "type": "string",
1172
+ "not": {
1173
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference"
1174
+ }
1175
+ },
1176
+ {
1177
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1178
+ }
1179
+ ]
1180
+ },
1181
+ "minItems": 1
1182
+ }
1183
+ ]
1184
+ },
1185
+ "https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json": {
1186
+ "$schema": "http://json-schema.org/draft-07/schema#",
1187
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json",
1188
+ "title": "Font Weight Value",
1189
+ "description": "Value schema for fontWeight type tokens. Represents a font weight as per the OpenType wght tag specification. Lower numbers represent lighter weights, higher numbers represent thicker weights.",
1190
+ "oneOf": [
1191
+ {
1192
+ "type": "number",
1193
+ "description": "Numeric font weight value",
1194
+ "minimum": 1,
1195
+ "maximum": 1000
1196
+ },
1197
+ {
1198
+ "type": "string",
1199
+ "description": "Pre-defined font weight string value",
1200
+ "enum": [
1201
+ "thin",
1202
+ "hairline",
1203
+ "extra-light",
1204
+ "ultra-light",
1205
+ "light",
1206
+ "normal",
1207
+ "regular",
1208
+ "book",
1209
+ "medium",
1210
+ "semi-bold",
1211
+ "demi-bold",
1212
+ "bold",
1213
+ "extra-bold",
1214
+ "ultra-bold",
1215
+ "black",
1216
+ "heavy",
1217
+ "extra-black",
1218
+ "ultra-black"
1219
+ ]
1220
+ }
1221
+ ]
1222
+ },
1223
+ "https://www.designtokens.org/schemas/2025.10/format/values/duration.json": {
1224
+ "$schema": "http://json-schema.org/draft-07/schema#",
1225
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/duration.json",
1226
+ "title": "Duration Value",
1227
+ "description": "Value schema for duration type tokens. Represents the length of time in milliseconds an animation or animation cycle takes to complete.",
1228
+ "type": "object",
1229
+ "properties": {
1230
+ "value": {
1231
+ "description": "An integer or floating-point value representing the numeric value.",
1232
+ "oneOf": [
1233
+ {
1234
+ "type": "number"
1235
+ },
1236
+ {
1237
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1238
+ }
1239
+ ]
1240
+ },
1241
+ "unit": {
1242
+ "description": "Unit of time. Supported values: 'ms' (millisecond), 's' (second).",
1243
+ "oneOf": [
1244
+ {
1245
+ "type": "string",
1246
+ "enum": ["ms", "s"]
1247
+ },
1248
+ {
1249
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1250
+ }
1251
+ ]
1252
+ }
1253
+ },
1254
+ "required": ["value", "unit"],
1255
+ "additionalProperties": false
1256
+ },
1257
+ "https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json": {
1258
+ "$schema": "http://json-schema.org/draft-07/schema#",
1259
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json",
1260
+ "title": "Cubic Bezier Value",
1261
+ "description": "Value schema for cubicBezier type tokens. Represents how the value of an animated property progresses towards completion over the duration of an animation, effectively creating visual effects such as acceleration, deceleration, and bounce.",
1262
+ "type": "array",
1263
+ "items": [
1264
+ {
1265
+ "$ref": "#/definitions/xCoordinate"
1266
+ },
1267
+ {
1268
+ "$ref": "#/definitions/yCoordinate"
1269
+ },
1270
+ {
1271
+ "$ref": "#/definitions/xCoordinate"
1272
+ },
1273
+ {
1274
+ "$ref": "#/definitions/yCoordinate"
1275
+ }
1276
+ ],
1277
+ "additionalItems": false,
1278
+ "minItems": 4,
1279
+ "maxItems": 4,
1280
+ "definitions": {
1281
+ "xCoordinate": {
1282
+ "title": "X Coordinate",
1283
+ "description": "X coordinate of control point (must be between 0 and 1)",
1284
+ "oneOf": [
1285
+ {
1286
+ "type": "number",
1287
+ "minimum": 0,
1288
+ "maximum": 1
1289
+ },
1290
+ {
1291
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1292
+ }
1293
+ ]
1294
+ },
1295
+ "yCoordinate": {
1296
+ "title": "Y Coordinate",
1297
+ "description": "Y coordinate of control point (can be any real number)",
1298
+ "oneOf": [
1299
+ {
1300
+ "type": "number"
1301
+ },
1302
+ {
1303
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1304
+ }
1305
+ ]
1306
+ }
1307
+ }
1308
+ },
1309
+ "https://www.designtokens.org/schemas/2025.10/format/values/number.json": {
1310
+ "$schema": "http://json-schema.org/draft-07/schema#",
1311
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/number.json",
1312
+ "title": "Number Value",
1313
+ "description": "Value schema for number type tokens. Numbers can be positive, negative and have fractions. Example uses are gradient stop positions or unitless line heights.",
1314
+ "type": "number"
1315
+ },
1316
+ "https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json": {
1317
+ "$schema": "http://json-schema.org/draft-07/schema#",
1318
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json",
1319
+ "title": "Stroke Style Value",
1320
+ "description": "Value schema for strokeStyle type tokens. Represents the style applied to lines or borders.",
1321
+ "oneOf": [
1322
+ {
1323
+ "type": "string",
1324
+ "enum": [
1325
+ "solid",
1326
+ "dashed",
1327
+ "dotted",
1328
+ "double",
1329
+ "groove",
1330
+ "ridge",
1331
+ "outset",
1332
+ "inset"
1333
+ ],
1334
+ "description": "Pre-defined stroke style values with the same meaning as CSS line style values"
1335
+ },
1336
+ {
1337
+ "type": "object",
1338
+ "properties": {
1339
+ "dashArray": {
1340
+ "description": "Array of dimension values specifying lengths of alternating dashes and gaps",
1341
+ "oneOf": [
1342
+ {
1343
+ "type": "array",
1344
+ "items": {
1345
+ "oneOf": [
1346
+ {
1347
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1348
+ },
1349
+ {
1350
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1351
+ }
1352
+ ]
1353
+ },
1354
+ "minItems": 1
1355
+ },
1356
+ {
1357
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1358
+ }
1359
+ ]
1360
+ },
1361
+ "lineCap": {
1362
+ "description": "Line cap style, same meaning as SVG stroke-linecap attribute",
1363
+ "oneOf": [
1364
+ {
1365
+ "type": "string",
1366
+ "enum": ["round", "butt", "square"]
1367
+ },
1368
+ {
1369
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1370
+ }
1371
+ ]
1372
+ }
1373
+ },
1374
+ "required": ["dashArray", "lineCap"],
1375
+ "additionalProperties": false
1376
+ }
1377
+ ]
1378
+ },
1379
+ "https://www.designtokens.org/schemas/2025.10/format/values/border.json": {
1380
+ "$schema": "http://json-schema.org/draft-07/schema#",
1381
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/border.json",
1382
+ "title": "Border Value",
1383
+ "description": "Value schema for border type tokens. Represents a border style.",
1384
+ "type": "object",
1385
+ "properties": {
1386
+ "color": {
1387
+ "description": "The color of the border",
1388
+ "oneOf": [
1389
+ {
1390
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/color.json"
1391
+ },
1392
+ {
1393
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1394
+ }
1395
+ ]
1396
+ },
1397
+ "width": {
1398
+ "description": "The width or thickness of the border",
1399
+ "oneOf": [
1400
+ {
1401
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1402
+ },
1403
+ {
1404
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1405
+ }
1406
+ ]
1407
+ },
1408
+ "style": {
1409
+ "description": "The border's style",
1410
+ "oneOf": [
1411
+ {
1412
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json"
1413
+ },
1414
+ {
1415
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1416
+ }
1417
+ ]
1418
+ }
1419
+ },
1420
+ "required": ["color", "width", "style"],
1421
+ "additionalProperties": false
1422
+ },
1423
+ "https://www.designtokens.org/schemas/2025.10/format/values/transition.json": {
1424
+ "$schema": "http://json-schema.org/draft-07/schema#",
1425
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/transition.json",
1426
+ "title": "Transition Value",
1427
+ "description": "Value schema for transition type tokens. Represents an animated transition between two states.",
1428
+ "type": "object",
1429
+ "properties": {
1430
+ "duration": {
1431
+ "description": "The duration of the transition",
1432
+ "oneOf": [
1433
+ {
1434
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/duration.json"
1435
+ },
1436
+ {
1437
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1438
+ }
1439
+ ]
1440
+ },
1441
+ "delay": {
1442
+ "description": "The time to wait before the transition begins",
1443
+ "oneOf": [
1444
+ {
1445
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/duration.json"
1446
+ },
1447
+ {
1448
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1449
+ }
1450
+ ]
1451
+ },
1452
+ "timingFunction": {
1453
+ "description": "The timing function of the transition",
1454
+ "oneOf": [
1455
+ {
1456
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json"
1457
+ },
1458
+ {
1459
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1460
+ }
1461
+ ]
1462
+ }
1463
+ },
1464
+ "required": ["duration", "delay", "timingFunction"],
1465
+ "additionalProperties": false
1466
+ },
1467
+ "https://www.designtokens.org/schemas/2025.10/format/values/shadow.json": {
1468
+ "$schema": "http://json-schema.org/draft-07/schema#",
1469
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/shadow.json",
1470
+ "title": "Shadow Value",
1471
+ "description": "Value schema for shadow type tokens. Represents a shadow style.",
1472
+ "oneOf": [
1473
+ {
1474
+ "$ref": "#/definitions/shadowObject"
1475
+ },
1476
+ {
1477
+ "type": "array",
1478
+ "description": "Array of shadow objects and/or references to shadow tokens",
1479
+ "items": {
1480
+ "oneOf": [
1481
+ {
1482
+ "$ref": "#/definitions/shadowObject"
1483
+ },
1484
+ {
1485
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1486
+ }
1487
+ ]
1488
+ },
1489
+ "minItems": 1
1490
+ }
1491
+ ],
1492
+ "definitions": {
1493
+ "shadowObject": {
1494
+ "title": "Shadow Object",
1495
+ "type": "object",
1496
+ "properties": {
1497
+ "color": {
1498
+ "description": "The color of the shadow",
1499
+ "oneOf": [
1500
+ {
1501
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/color.json"
1502
+ },
1503
+ {
1504
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1505
+ }
1506
+ ]
1507
+ },
1508
+ "offsetX": {
1509
+ "description": "The horizontal offset that shadow has from the element it is applied to",
1510
+ "oneOf": [
1511
+ {
1512
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1513
+ },
1514
+ {
1515
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1516
+ }
1517
+ ]
1518
+ },
1519
+ "offsetY": {
1520
+ "description": "The vertical offset that shadow has from the element it is applied to",
1521
+ "oneOf": [
1522
+ {
1523
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1524
+ },
1525
+ {
1526
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1527
+ }
1528
+ ]
1529
+ },
1530
+ "blur": {
1531
+ "description": "The blur radius that is applied to the shadow",
1532
+ "oneOf": [
1533
+ {
1534
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1535
+ },
1536
+ {
1537
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1538
+ }
1539
+ ]
1540
+ },
1541
+ "spread": {
1542
+ "description": "The amount by which to expand or contract the shadow",
1543
+ "oneOf": [
1544
+ {
1545
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1546
+ },
1547
+ {
1548
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1549
+ }
1550
+ ]
1551
+ },
1552
+ "inset": {
1553
+ "description": "Whether this shadow is inside the containing shape (inner shadow) rather than a drop shadow (default: false)",
1554
+ "oneOf": [
1555
+ {
1556
+ "type": "boolean"
1557
+ },
1558
+ {
1559
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject"
1560
+ }
1561
+ ]
1562
+ }
1563
+ },
1564
+ "required": ["color", "offsetX", "offsetY", "blur", "spread"],
1565
+ "additionalProperties": false
1566
+ }
1567
+ }
1568
+ },
1569
+ "https://www.designtokens.org/schemas/2025.10/format/values/gradient.json": {
1570
+ "$schema": "http://json-schema.org/draft-07/schema#",
1571
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/gradient.json",
1572
+ "title": "Gradient Value",
1573
+ "description": "Value schema for gradient type tokens. Represents a color gradient.",
1574
+ "type": "array",
1575
+ "items": {
1576
+ "oneOf": [
1577
+ {
1578
+ "$ref": "#/definitions/gradientStop"
1579
+ },
1580
+ {
1581
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1582
+ }
1583
+ ]
1584
+ },
1585
+ "minItems": 1,
1586
+ "definitions": {
1587
+ "gradientStop": {
1588
+ "title": "Gradient Stop",
1589
+ "type": "object",
1590
+ "properties": {
1591
+ "color": {
1592
+ "description": "The color value at the stop's position on the gradient",
1593
+ "oneOf": [
1594
+ {
1595
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/color.json"
1596
+ },
1597
+ {
1598
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1599
+ }
1600
+ ]
1601
+ },
1602
+ "position": {
1603
+ "description": "The position of the stop along the gradient's axis (range [0, 1]). Values outside this range are clamped.",
1604
+ "oneOf": [
1605
+ {
1606
+ "type": "number",
1607
+ "minimum": 0,
1608
+ "maximum": 1
1609
+ },
1610
+ {
1611
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1612
+ }
1613
+ ]
1614
+ }
1615
+ },
1616
+ "required": ["color", "position"],
1617
+ "additionalProperties": false
1618
+ }
1619
+ }
1620
+ },
1621
+ "https://www.designtokens.org/schemas/2025.10/format/values/typography.json": {
1622
+ "$schema": "http://json-schema.org/draft-07/schema#",
1623
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/values/typography.json",
1624
+ "title": "Typography Value",
1625
+ "description": "Value schema for typography type tokens. Represents a typographic style.",
1626
+ "type": "object",
1627
+ "properties": {
1628
+ "fontFamily": {
1629
+ "description": "The typography's font",
1630
+ "oneOf": [
1631
+ {
1632
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json"
1633
+ },
1634
+ {
1635
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1636
+ }
1637
+ ]
1638
+ },
1639
+ "fontSize": {
1640
+ "description": "The size of the typography",
1641
+ "oneOf": [
1642
+ {
1643
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1644
+ },
1645
+ {
1646
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1647
+ }
1648
+ ]
1649
+ },
1650
+ "fontWeight": {
1651
+ "description": "The weight of the typography",
1652
+ "oneOf": [
1653
+ {
1654
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json"
1655
+ },
1656
+ {
1657
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1658
+ }
1659
+ ]
1660
+ },
1661
+ "letterSpacing": {
1662
+ "description": "The horizontal spacing between characters",
1663
+ "oneOf": [
1664
+ {
1665
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/dimension.json"
1666
+ },
1667
+ {
1668
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1669
+ }
1670
+ ]
1671
+ },
1672
+ "lineHeight": {
1673
+ "description": "The vertical spacing between lines of typography (interpreted as a multiplier of fontSize)",
1674
+ "oneOf": [
1675
+ {
1676
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/values/number.json"
1677
+ },
1678
+ {
1679
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference"
1680
+ }
1681
+ ]
1682
+ }
1683
+ },
1684
+ "required": [
1685
+ "fontFamily",
1686
+ "fontSize",
1687
+ "fontWeight",
1688
+ "letterSpacing",
1689
+ "lineHeight"
1690
+ ],
1691
+ "additionalProperties": false
1692
+ },
1693
+ "https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json": {
1694
+ "$schema": "http://json-schema.org/draft-07/schema#",
1695
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json",
1696
+ "title": "Group or Token",
1697
+ "description": "A group or a token in the DTCG specification. A token is identified by the presence of a $value property, while a group is any object without a $value property.",
1698
+ "oneOf": [
1699
+ {
1700
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/group.json"
1701
+ },
1702
+ {
1703
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/token.json"
1704
+ }
1705
+ ]
1706
+ },
1707
+ "https://www.designtokens.org/schemas/2025.10/format/group.json": {
1708
+ "$schema": "http://json-schema.org/draft-07/schema#",
1709
+ "$id": "https://www.designtokens.org/schemas/2025.10/format/group.json",
1710
+ "title": "Group",
1711
+ "description": "A group in the DTCG specification",
1712
+ "type": "object",
1713
+ "properties": {
1714
+ "$type": {
1715
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/tokenType.json"
1716
+ },
1717
+ "$description": {
1718
+ "type": "string",
1719
+ "description": "A plain text description of the group"
1720
+ },
1721
+ "$extensions": {
1722
+ "type": "object",
1723
+ "description": "Vendor-specific extensions"
1724
+ },
1725
+ "$extends": {
1726
+ "oneOf": [
1727
+ {
1728
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference"
1729
+ },
1730
+ {
1731
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReference"
1732
+ }
1733
+ ],
1734
+ "description": "Reference to another group to inherit tokens and properties from"
1735
+ },
1736
+ "$deprecated": {
1737
+ "oneOf": [
1738
+ {
1739
+ "type": "boolean"
1740
+ },
1741
+ {
1742
+ "type": "string"
1743
+ }
1744
+ ],
1745
+ "description": "Whether this group is deprecated"
1746
+ },
1747
+ "$root": {
1748
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/token.json"
1749
+ }
1750
+ },
1751
+ "patternProperties": {
1752
+ "^[^${}.][^{}.]*$": {
1753
+ "$ref": "https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json"
1754
+ }
1755
+ },
1756
+ "additionalProperties": false
1757
+ }
1758
+ }
1759
+ }